如何从选择器中排除具有属性的元素,而与值无关

问题描述 投票:0回答:1

我正在使用一个在屏幕上创建某些元素的框架,这些元素在任何情况下都绝不能以任何方式进行修改。这些元素始终具有带有一些值的data-for属性。

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

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

[如果有价值,我知道我可以做类似的事情

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

问题是在开发时我不知道该值,并且第一个选项仅在该属性没有值时才起作用。还有其他方法吗?

javascript jquery css css-selectors jquery-selectors
1个回答
1
投票

input:not[data-for]选择器应该起作用。见下文:

$(document).ready(function(){
  console.log($('input[data-for]').length);
  console.log($('input:not([data-for])').length);
});
input{ display: block; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input data-for="" />
<input data-for="something" />
<input />
<input />
<input data-for="something" />
<input data-for="" />
© www.soinside.com 2019 - 2024. All rights reserved.