我需要选择某个类的所有div(jqx-slider),不包括一个ID(#str_prg) - 类似于:
$("div.jqx-slider :not(#str_prg)").each(function () {
.....
});
这是什么语法?
此外,如果我在循环中添加“if”条件,它会更快更有效吗 - 比如
if($(this).attr('id') ! = "str_prg"){
}
谢谢!
答案 0 :(得分:3)
您正在使用类选择器和非选择器之间的后代选择器,这对您的要求无效
$("div.jqx-slider:not(#str_prg)")
当您说$("div.jqx-slider :not(#str_prg)")
时,它会选择类jq-slider
的所有元素的后代,但标识为str_prg
答案 1 :(得分:1)
尝试删除不必要的空格字符:
$("div.jqx-slider:not(#str_prg)")
答案 2 :(得分:1)
删除空格,因为它会导致您选择子项,而不是元素本身。
$("div.jqx-slider:not(#str_prg)").each(function() {
.....
});
对于问题的第二部分,最好只使用CSS选择器而不是JS循环。