我需要找到任何<a>
标记,其href以'pdf'
结尾,而不包含'test'
。
<a href="/abc/tes.pdf">link</a>
我所知道的只是第一个条件;
jQuery('a[href$=".pdf"]')
教我休息。
谢谢。
答案 0 :(得分:4)
jQuery('a[href!="test"][href$=".pdf"]');
或更好:
jQuery('a[href$=".pdf"]').not('[href="test"]');
这就是原因:
因为[name!=“value”]是jQuery扩展而不是CSS的一部分 规范,使用[name!=“value”]的查询无法利用 本机DOM querySelectorAll()提供的性能提升 方法。要在现代浏览器中获得更好的性能,请使 $(“your-pure-css-selector”)。not('[name =“value”]')而不是。
编辑:这里的“更好”可能不正确,[value $ =“name”]也不是CSS2纯选择器,但jQuery文档没有提到。这里需要进行一些额外的研究......
编辑2:看起来我没想到这一点。你可能想要的是:
jQuery('a[href$=".pdf"]').not('a[href*="test"]');
其中包括:选择所有a
元素,其中href
属性以“.pdf”结尾,但不选择a
元素具有“test” “作为href
属性中任意位置的子字符串。