Having thrust myself into the world of JavaScript and JavaScript Libraries, I've often wondered: When are browser vendors going to see the helper methods/libraries created by the JavaScript toolkits and implement these functionalities natively within the browser? I realize that standards are important and browser vendors can't afford to half-ass these implementations but I do believe they could be...expedited. The good news is that one of these functionalities has been add to the HTML5 API; classList.
The classList object, added to all nodes within the DOM, provides developers methods by which to add, remove, and toggle CSS classes on a node. classList also allows developers to check if a CSS class has been assigned to a given node.
Element.classList
The classList object contains a number of helpful methods:
{
length: {number}, /* # of class on this element */
add: function() { [native code] },
contains: function() { [native code] },
item: function() { [native code] }, /* by index */
remove: function() { [native code] },
toggle: function() { [native code] }
}
Element.classList, as you can see, is a small but useful collection of methods.
Adding a CSS Class
The add method allows you to add one more multiple space-separated classes:
myDiv.classList.add('myCssClass');
Removing a CSS Class
The add method allows you to remove a single class:
myDiv.classList.remove('myCssClass');
You could separate multiple classes by space but the result may not be incredibly reliable.
Toggling a CSS Class
myDiv.classList.toggle('myCssClass'); //now it's added
myDiv.classList.toggle('myCssClass'); //now it's removed
Note: If toggle is called and the element does not have the provided CSS class, the class is added.
Contains CSS Class Check
myDiv.classList.contains('myCssClass'); //returns true or false
The classList API is now supported by all modern browsers, so look for the JavaScript libraries to include classList checks instead of parsing an element's class attribute!
本文探讨了浏览器供应商如何通过实现JavaScript工具包创建的helper方法/库的原生功能,特别关注HTML5 API中classList的加入。classList对象提供了一组有用的方法,用于在节点上添加、移除和切换CSS类,以及检查是否已分配CSS类。

被折叠的 条评论
为什么被折叠?



