jQuery : 不是选择器和哈希符号语法错误
jQuery :not selector and hash symbol syntax error
我遇到了一个可爱的语法错误。这是当我尝试 select 所有不带包含占位符 URL 的 href 的锚标签时,即 href="#"
.
我试过以下方法:
$("a:not(href='#')");
//swapped single with double quotes
$('a:not(href="#")');
// no quotes at all
$("a:not(href=#)");
// wildcard selector
$("a:not(href*=#)");
所有这些都会导致以下错误:
Uncaught Error: Syntax error, unrecognized expression: href=#(…)
有什么想法吗?
下面的片段:
var $item = $("a:not(href='#')");
console.log($item);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="http://google.com">Selected</a>
<a href="#">Not selected</a>
href
的测试需要在方括号中:
$("a:not([href='#'])")
括号在那里是因为这就是您在 CSS 选择器中进行属性值测试的方式。例如,如果您只是在寻找具有 href
的元素,它看起来像
$("[href='#']")
我遇到了一个可爱的语法错误。这是当我尝试 select 所有不带包含占位符 URL 的 href 的锚标签时,即 href="#"
.
我试过以下方法:
$("a:not(href='#')");
//swapped single with double quotes
$('a:not(href="#")');
// no quotes at all
$("a:not(href=#)");
// wildcard selector
$("a:not(href*=#)");
所有这些都会导致以下错误:
Uncaught Error: Syntax error, unrecognized expression: href=#(…)
有什么想法吗?
下面的片段:
var $item = $("a:not(href='#')");
console.log($item);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="http://google.com">Selected</a>
<a href="#">Not selected</a>
href
的测试需要在方括号中:
$("a:not([href='#'])")
括号在那里是因为这就是您在 CSS 选择器中进行属性值测试的方式。例如,如果您只是在寻找具有 href
的元素,它看起来像
$("[href='#']")