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

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

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

510626 次浏览
   $('a[href$="ABC"]')...

选择器留档可在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-...")
$('a[href$="ABC"]:first').attr('title');

这将返回具有以“ABC”结尾的URL的第一个链接的标题。

$("a[href*='id=ABC']").addClass('active_jquery_menu');
$("a[href*=ABC]").addClass('selected');

如果您不想导入像jQuery这样的大型库来完成这些琐碎的事情,您可以使用内置方法querySelectorAll代替。几乎所有用于jQuery的选择器字符串也适用于DOM方法:

const anchors = document.querySelectorAll('a[href$="ABC"]');

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

const anchor = document.querySelector('a[href$="ABC"]');

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

a[href$=ABC]

但引号更灵活,一般更可靠