селектор в Javascript - PullRequest
       10

селектор в Javascript

0 голосов
/ 23 ноября 2018

Я новичок в Javascript.У меня есть список ссылок, и я хочу выбрать ссылки, заканчивающиеся на .zip и добавить класс zip из css;

добавить ссылки выбора, заканчивающиеся не на .zip, и добавить класс notzip из css.

Я использую $("a[href $='.zip']").addClass("zip") для выполнения первой задачи, но не могу выполнить задачу 2 путем добавления!или нет().Рекомендуется $ this и location, функция фильтра.Как я могу это сделать?

      <ul>
    <li><a href="a.html">a</a></li>
    <li><a href="b.pdf">b</a></li>
    <li><a href="c.zip">c</a></li>
  </ul>

Ответы [ 2 ]

0 голосов
/ 23 ноября 2018

Если я правильно понял, это должно работать!

$("a[href='.zip']").addClass("zip");
$("a[href!='.zip']").addClass("notzip");
0 голосов
/ 23 ноября 2018

Вы можете использовать :not:

$(function() {
  $("a[href$='.zip']").addClass('zip');
  $("a:not([href$='.zip'])").addClass('notzip');
  $("a:not([href$='.zip']):not([href$='.html'])").addClass('notzipnorhtml');
  
  var exts = ['html', 'pdf', 'zip'];
  $('a' + exts.map(ext => ':not([href$=".' + ext + '"])').join(''))
    .addClass('notanyofthose');
});
.zip { color: green; }
.notzip { color: red; }
.notzipnorhtml { color: purple; }
.notanyofthose { color: blue; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
  <li><a href="a.html">a</a></li>
  <li><a href="b.pdf">b</a></li>
  <li><a href="c.zip">c</a></li>
  <li><a href="d.exe">d</a></li>
</ul>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...