Javascript 如何从选择器中排除具有属性的元素,而不考虑值

Javascript 如何从选择器中排除具有属性的元素,而不考虑值,javascript,jquery,css,css-selectors,jquery-selectors,Javascript,Jquery,Css,Css Selectors,Jquery Selectors,我正在开发一个框架,在屏幕上创建某些元素,这些元素在任何情况下都不应该以任何方式进行修改。这些元素总是有一个带有某个值的data for属性 我知道我可以使用not命令将它们从选择器中排除,如: input:not([data-for], .exclude) 如果有一个值,我知道我可以这样做 input:not([data-for=lalala], .exclude) 问题是,我在开发时不知道值,第一个选项只在属性没有值时才起作用。是否有其他方法可以执行此操作?输入:not[data fo

我正在开发一个框架,在屏幕上创建某些元素,这些元素在任何情况下都不应该以任何方式进行修改。这些元素总是有一个带有某个值的data for属性

我知道我可以使用not命令将它们从选择器中排除,如:

 input:not([data-for], .exclude)
如果有一个值,我知道我可以这样做

input:not([data-for=lalala], .exclude)

问题是,我在开发时不知道值,第一个选项只在属性没有值时才起作用。是否有其他方法可以执行此操作?

输入:not[data for]选择器应该可以工作。见下文:

$(文档).ready(函数(){
log($('input[data for]').length);
log($('input:not([data for])).length);
});
input{display:block;}


I打赌input:not([data for]),它会选择所有没有attr数据的输入,不管值是否相关:它应该工作,因为某些原因它不会工作。我明天回去工作的时候还要考试。也许这是我错过的。它应该有效,因为某些原因它不起作用。我明天回去工作的时候还要考试。也许是我遗漏了什么。经过多次检查,我发现框架还有其他不应该更改的隐藏输入。因此,数据只是问题的一部分。我要将您的anwser标记为正确,因为它确实解决了我发布的问题,尽管不幸的是,它没有解决我的问题:(.无论如何,感谢您的帮助。@PauloKünzel没问题,如果您有问题,请再次发布