开发者

div addClass only on ONE div

When i do something like :

$('#container').addClass("contract");

It only add class to the first div with id container

When i do something开发者_如何学编程 like :

$('.container').addClass("contract");

It adds the class to ALL the divs with class container

WHY ?


Every element ID must be unique. An ID points to one and only one attribute. Jquery or any other framework would not even consider that you might have more than one element with a particular id. All your elements need to have a different id. Javascript and the DOM expect this (document.getElementByID for example will return just one element, and might now work at all if the ID is duplicated). Everything expects this.


Because id attribute has to be unique in HTML document. So there is no need to search for any others eelements with id="abc" when you find a first one.


An element's ID attribute should uniquely identify it. A class attribute may be applied to more than one element. As ID is unique, jQuery will only apply it to the first element that matches that.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜