Как выбрать элемент по атрибуту обратного имени - PullRequest
0 голосов
/ 05 марта 2019

Я хочу выбирать элементы только по имени обратного атрибута:

Я выбираю с помощью [^ safe] или [! Safe], неправильно

Мой HTML:

<ul>
  <a href="#">Link Base</a>
  <a href="#">Link Base</a>
  <a href="#">Link Base</a>
  <a href="#">Link Base</a>
  <a safe href="#">Link Base</a>
  <a safe href="#">Link Base</a>
</ul>

Мой код jQuery:

$("a[^safe]").each(function(){
    $(this).css({"color": "red", "border": "2px solid gold"});
});

Мой jsFiddle:

https://jsfiddle.net/Lpr4tow1/1/

1 Ответ

1 голос
/ 05 марта 2019

Вы можете использовать селектор :not(), чтобы внести изменения, или просто создать для него правило css и обходиться без javascript.

Хотя, если вы выберете чистый способ CSS, вам, скорее всего, захочется уменьшить селектор, чтобы он не был таким глобальным.

$('a:not([safe])').addClass('not-safe')
.not-safe {
  color: red;
  border: 2px solid red;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul>
  <a href="#">Link Base</a>
  <a href="#">Link Base</a>
  <a href="#">Link Base</a>
  <a href="#">Link Base</a>
  <a safe href="#">Link Base</a>
  <a safe href="#">Link Base</a>
</ul>

a:not([safe]) {
  color: red;
  border: 2px solid red;
}
<ul>
  <a href="#">Link Base</a>
  <a href="#">Link Base</a>
  <a href="#">Link Base</a>
  <a href="#">Link Base</a>
  <a safe href="#">Link Base</a>
  <a safe href="#">Link Base</a>
</ul>
...