选择<a>哪个href以某个字符串结尾

Axi*_*ili 652 string jquery

是否可以使用jQuery选择<a>href以"ABC"结尾的所有链接?

例如,如果我想找到此链接 <a href="http://server/page.aspx?id=ABC">

tva*_*son 1517

   $('a[href$="ABC"]')...
Run Code Online (Sandbox Code Playgroud)

选择器文档可以在http://docs.jquery.com/Selectors找到

对于属性:

= is exactly equal
!= is not equal
^= is starts with
$= is ends with
*= is contains
~= is contains word
|= is starts with prefix (i.e., |= "prefix" matches "prefix-...")
Run Code Online (Sandbox Code Playgroud)

  • 最近发生了变化.$('[href $ = - abc]')曾经工作过.现在它需要引号$('[href $ = - - abc"]')我不知道它什么时候改变了.也许它总是应该需要报价而且恰好在之前工作过. (19认同)
  • 请注意,"ABC"区分大小写!(只是花了很长时间才弄明白......) (11认同)
  • 现在这与香草javascirpt一起使用.你可以简单地使用`document.querySelectorAll('[href $ ="ABC"]')`来实现这一点. (8认同)
  • @sf.dev `$('a').filter(function() { return !this.href || !this.href.match(/ABC/); });` (3认同)

小智 19

$('a[href$="ABC"]:first').attr('title');
Run Code Online (Sandbox Code Playgroud)

这将返回第一个链接的标题,该链接具有以"ABC"结尾的URL.

  • 更正:哪个以ABC结束 (3认同)

小智 14

$("a[href*='id=ABC']").addClass('active_jquery_menu');
Run Code Online (Sandbox Code Playgroud)

  • 对于未来的访问者,可能会得到答案的帮助. (2认同)

小智 5

$("a[href*=ABC]").addClass('selected');
Run Code Online (Sandbox Code Playgroud)


Cer*_*nce 5

如果您不想导入像 jQuery 这样的大库来完成这么简单的事情,您可以使用内置方法querySelectorAll。几乎所有用于 jQuery 的选择器字符串也可以与 DOM 方法一起使用:

const anchors = document.querySelectorAll('a[href$="ABC"]');
Run Code Online (Sandbox Code Playgroud)

或者,如果您知道只有一个匹配元素:

const anchor = document.querySelector('a[href$="ABC"]');
Run Code Online (Sandbox Code Playgroud)

如果您要搜索的值是字母数字,您通常可以省略属性值周围的引号,例如,在这里,您也可以使用

a[href$=ABC]
Run Code Online (Sandbox Code Playgroud)

但报价更灵活,一般更可靠