Что означает "a [href * = #]: not ([href= #])" код означает?
Я не понимаю, что означает этот код?
a[href*=#]:not([href=#])
Спасибо!
Ответы
Ответ 1
Просто:
a[href*=#]
получает все якоря (a
), содержащие #
в href.
Но с:
:not([href=#])
исключает якоря с href, точно равным #
.
Пример:
<a href="#step1">yes</a>
<a href="page.php#step2">yes</a>
<a href="#">no</a>
селектор получает первые два якоря, но исключает последние.
Ответ 2
На всякий случай у кого-то была такая же проблема, как и я, и новая версия jQuery:
Решение не должно использовать a[href*=#]:not([href=#])
, но
Использование
a[href*="#"]:not([href="#"])
Это было изменением в jQuery 2.2.4 и далее.
Ответ 3
означает, что все элементы с атрибутом href, координирующим '#'
, except
те, чей атрибут href равен #
Ответ 4
Это селектор CSS3, который получает все a
, чей атрибут href
содержит #
, но не просто составлен единственного #
char.
например.
Сопрягано
<a href="#home">Home</a>
<a href="index.html#contact">Contact</a>
Не согласовано
<a href="#">Top</a>
Ответ 5
Это селектор CSS, который соответствует любому элементу a
, который имеет атрибут href
, содержащий символ #
, но не привязывает теги, которые имеют только #
.
Так, например, он будет соответствовать: <a href="#test">Test Anchor</a>
, но не <a href="#">Blank</a>