这是我的问题。我正在编辑一个网站,从服务器端到 PHP 循环生成网站的所有内容,然后我被要求使用{{来操纵网站3}}
这里的问题是,网站上存在的许多链接标记都没有与ID
关联。所以我被要求解决一个问题,如果点击其中一个链接标签,就会发生一些 jQuery 逻辑。
在我的情况下,如果点击带有文字“查看全部”的链接标记。我应该执行一些代码执行,但我究竟该如何写呢?
是否像写作一样简单:
$("a:contains('See All')").click(function() {
// do something
});
因为这似乎不起作用。有什么帮助吗?
答案 0 :(得分:4)
See All
的完全匹配等等
$("a")
.filter(function() { // apply filter() to for exact text matching
return $(this).text() == 'See All';
}).click(function(e) {
// To prevent page reload you need .preventDefault()
e.preventDefault();
alert('hello');
});
<强> DEMO 强>
检查See All
的遏制(不完全匹配)
$("a").filter(function() {
return $(this).text().match('See All'); // a little change here
}).click(function() {
alert('hello');
});
或只使用:contains()
$('a:contains(See All)').on('click', function() {
alert('Hello');
});
<强> DEMO 强>
一些额外的注释
如果您的链接在DOM准备就绪后生成,那么您需要尝试使用“.on”事件绑定,如:
$('#container').on('click', 'a:contains(See All)', function() {
alert('Hello');
});
如果客户端使用的是jQuery v-1.7,请按以下步骤尝试“.delegate”事件:
$('#container').delegate('a:contains(See All)', 'click', function() {
alert('Hello');
});
答案 1 :(得分:1)
您是否尝试删除'
中的'See All'
?
另外,要确保不会将用户重定向到href
中的链接,请使用e.preventDefault()
$("a:contains(See All)").click(function(e) {
e.preventDefault();
// do something
});
答案 2 :(得分:0)
如何使用链接缩短服务(例如Google的https://goo.gl/,或点击推文的clicktotweet.com,免费获得5并在之后付款)。使用缩短的链接。
这将跟踪点击链接的次数。
现在你在寻找什么,没有