jQuery Standards and Best Practice [closed]

断了今生、忘了曾经 提交于 2019-11-27 02:25:36
adardesign

You can find this trending topic right here in StackOverflow.com

jQuery pitfalls to avoid

Very interesting useful tips one after the other.

here are some more i found in my bookmarks:

Something I've personally started to do is a sort of an Apps Hungarian Notation for jQuery sets, by prefixing those variables with a $

var someInt = 1;
var $someQueryCollection = $( 'selector' );

I find that as my jQuery snippets grow, this becomes invaluable, not only in the promotion of storing jQuery sets as variables, but to help me keep track of which variables actually are jQuery sets.

SolutionYogi

Unobtrusive JavaScript (separation of markup and behavior)

Back in the days, it was common to put your click handler inside the markup. Now it's recommended that you do not write your JS code inside your markup but include it via DOM events.

Progressive enhancement

User gets better experience if they are using standards compliant browser and/or has JavaScript enabled. Website/web application is still accessible even if they have older browser or has JS disabled.

Feature detection and not browser detection

Keeping above points aside, I would really focus on conveying the message (breaking the pre-conceived notion) that JavaScript is a toy language. I have seen too many developers who thinks this way and everything is downhill from there. You need to explain them how JavaScript is a very powerful language and why they need a JS library (because of browser inconsistencies) even though JS itself is very powerful.

Good luck.

The way that jQuery works is NOT the same way that JavaScript works, even though they are one and the same. jQuery works on CSS selectors, like the class name(s) and the id of elements. To select an item in jQuery, you do:

$("#yourID") or $(".yourClass") or $("div") or $("#yourID p") etc

And you will get a collection of all the elements on the page that fit your criteria. You can then perform your actions on ALL of those elements without any looping of any sort. This is important to remember:

$(".yourClass").click(function(){
    //do stuff
});

will affect all items with .yourClass attached to them. One tip: if you're going to access the $(this), you should save it as a local variable:

$(".yourClass").click(function(){
    var $this = $(this);
});

as it will speed up your function.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!