Javascript 将反向特性和反向类选择器与现有选择器组合

Javascript 将反向特性和反向类选择器与现有选择器组合,javascript,jquery,typescript,Javascript,Jquery,Typescript,我有这个jQuery代码: $("#Filter ul input:checked").each(function () { if (!$(this).prop("disabled") && !$(this).hasClass("ignoreInput")) { 只能在一个选择器中写入吗?现在我要用if语句测试的元素太多了 使用.find(selector)是否也比在一个选择器中编写所有内容更好 $(document.body).find("#Filter ul ...

我有这个jQuery代码:

$("#Filter ul input:checked").each(function () {
    if (!$(this).prop("disabled") && !$(this).hasClass("ignoreInput")) {
只能在一个选择器中写入吗?现在我要用
if
语句测试的元素太多了

使用
.find(selector)
是否也比在一个选择器中编写所有内容更好

$(document.body).find("#Filter ul ...) 

您可以将
:not()
与属性选择器结合使用,如下所示:

$("#Filter ul input:checked:not([disabled],.ignoreInput)").each(function () {
    // your logic here
});
使用.find(选择器)而不是在一个选择器中写入所有内容是否也更好

$(document.body).find("#Filter ul ...) 

这对性能几乎没有影响。

您可以将
:not()
与属性选择器结合使用,如下所示:

$("#Filter ul input:checked:not([disabled],.ignoreInput)").each(function () {
    // your logic here
});
使用.find(选择器)而不是在一个选择器中写入所有内容是否也更好

$(document.body).find("#Filter ul ...) 

这对性能几乎没有影响。

您能解释一下disabled的squere括号语法吗?@juFo这是synthax for属性selector@juFo它都在文档中:所以这个代码:$(“[class*='slider-range-']”)。每个(函数(){if(!$(this).prop(“disabled”){将转换为:$(“[class*='slider-range-']:not([disabled]))你能解释一下disabled的squere括号语法吗?@juFo这是synthax for属性selector@juFo这些都在文档中:所以这个代码:$(“[class*='slider-range-']”)。每个(函数(){if(!$(this).prop(“disabled”){将转换为:$(“[class*='slider-range-']:not([disabled]))