Как исключить элемент с атрибутом из селектора независимо от значения - PullRequest
0 голосов
/ 20 апреля 2020

Я работаю с фреймворком, который создает на экране определенные элементы, которые не должны быть изменены каким-либо образом, вообще, ни при каких обстоятельствах. Эти элементы всегда имеют атрибут data-for с некоторым значением.

Я знаю, что могу исключить их из селектора, используя команду not, например:

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

В случае наличия значения I знаю, что я мог бы сделать что-то вроде

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

Проблема в том, что я не буду знать значение во время разработки, и первый вариант работает только тогда, когда атрибут не имеет значения. Есть ли другой, чтобы сделать это?

1 Ответ

1 голос
/ 20 апреля 2020

Селектор 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="" />
...