我理解在jquery中通过class
属性进行选择是选择元素的最高效方法之一。我们在所有元素上应用class
属性来表示CSS样式。我想使用jquery类选择器选择这些元素的子集。
那么,我应该在元素中应用多种样式 - 一种用于表示css样式,另一种用于jquery选择目的?
答案 0 :(得分:1)
您可以使用多个类来描述元素的不同“信息”。例如,Wordpress使用“body”元素执行此操作,它会分配代表浏览器类型等的类。
另一种方法是将类/ id分配给要选择的元素的父级,以便您可以这样做:
jQuery('#parent_of_group').find('.class_name');
答案 1 :(得分:1)
按class
属性值选择元素肯定是不“选择元素的最佳方式之一”。相反:相比之下jQuery的Sizzle is very slow,特别是当涉及类简单选择器时。
相反,选择元素的一种更有效的方法是ID。如果只有一个相关元素,则应该执行此操作,因为ID在文档中必须是唯一的。如果您使用现在无处不在的document.getElementById()
方法,并且只在绝对必要时创建了一个jQuery对象,那么它可能是最好的。
但是你应该首先检查是否必要来选择所有元素。 DOM API有几个其他更兼容的入口点来引用元素对象,其中包括this
(在事件处理程序属性值和事件侦听器中),event
(在事件处理程序属性值中),和element collections and node lists。 Event bubbling现在也无处不在,尽管not all events bubble in all implementations。
答案 2 :(得分:0)
元素可以有多个类
class="firstClass secondClass thirdClass"
..如果那就是你要问的那个
答案 3 :(得分:0)
因此,如果我理解正确,您想要选择具有特定类(class1
)的元素子集,再次由另一个类(class2
)过滤?
jQuery('.class1.class2');
// or
jQuery('.class1').filter('.class2');