jquery - 选择 href 不以某个字符串开头的元素

标签 jquery jquery-selectors

我有这样的链接:

<a href="my:stuff">My Link</a>
<a href="other:stuff">My Link</a>
<a href="test:stuff">My Link</a>
<a href="test:stuff">My Link</a>

我想选择 href 且不以“test”开头的链接

我尝试了以下方法,但似乎不起作用:

$('a[href!^="test"]')
$('a:not([href^="test"]')

我不想使用 $.filter 或类似的东西。有没有办法单独使用选择器来做到这一点?

最佳答案

!^= 选择器不存在。但是,您的第二个选择器应该在包含右括号 ')' 后起作用。

// Incorrect syntax
$('a:not([href^="test"]')

// Correct syntax
$('a:not([href^="test"])')

或者您可以选择使用 .not() 方法而不是 :not() 伪选择器:

$('a').not('[href^="test"]')

这是 first 的概念验证(使用 :not())和 second (使用 .not())解决方案。

关于jquery - 选择 href 不以某个字符串开头的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25005050/

相关文章:

javascript - 如果输入为空,则禁用提交按钮

javascript - 在 Firefox 中动态加载 JQuery 时不稳定

javascript - 将 div 切换到计算位置

jquery - 使用 jQuery 获取特定图像元素的来源

jquery-selectors - jQuery - 检查元素的存在

javascript - 滑动 jQuery 面板在 iPad 上不起作用

javascript - 使用 jQuery 显示隐藏单独的 div

javascript - 使用 jQuery 在 2 个 div 之间移动元素

javascript - 打开 id 以特定单词开头的树节点

javascript - 查询 :contains selector without children