我正在尝试编写一个jQuery选择器来查找documents
文件夹中包含的文件的链接。网站上的不同位置有几个文档文件夹。要匹配的示例网址是
http://example.com/magazine/volume5/documents/magazine2010_11-8_final.pdf
这有效:
$("a[href*='documents']")
但为了完整性,我希望匹配任何一方的斜杠。我看到要在选择器中包含斜杠,我需要在它前面添加两个反斜杠,如下所示:\\/
。但这只适用于尾随斜线,而不是主要的斜线。
这有效:
$("a[href*='documents\\/']")
但这不是:
$("a[href*='\\/documents\\/']")
我做错了什么?
更新 在jsFiddle(http://jsfiddle.net/jA3AJ/)上,它可以工作,但不在我的网站上(使用相同的浏览器,Firefox 4.0)。我的完整代码段是
<script type="text/javascript">
// Instrument download links for GA
$(document).ready(function () {
$("a[href*='\\/documents\\/']").click(function () {
alert("Download: " + this.pathname);
// if (typeof _gaq !== 'undefined') { _gaq.push(["_trackEvent", "Files", "Download", this.pathname]); }
});
});
</script>
根据这个How do I get jQuery to select elements with a . (period) in their ID?的答案,我需要使用两个反斜杠。无论是哪种方式,jsFiddle都适合我。事实上,它没有反斜杠:$("a[href*='/documents/'])"
更新 我正在使用jQuery 1.6.4。我更新了jsFiddle:http://jsfiddle.net/jA3AJ/1/并且在那里,它工作正常。
答案 0 :(得分:2)
它适合我。使用$("a[href*='\/documents\/']")
。如果你想要转义正斜杠,只需在它前面放一个转义字符(\
)。您不需要2个转义字符。
Wroking Demo
答案 1 :(得分:2)
反转您的单引号和双引号
$('a[href*="\/documents\/"]')