如何检查链接是否被点击?

时间:2012-06-01 03:51:37

标签: jquery function click contains

这是我的问题。我正在编辑一个网站,从服务器端到 PHP 循环生成网站的所有内容,然后我被要求使用{{来操纵网站3}}

这里的问题是,网站上存在的许多链接标记都没有与ID关联。所以我被要求解决一个问题,如果点击其中一个链接标签,就会发生一些 jQuery 逻辑。

在我的情况下,如果点击带有文字“查看全部”的链接标记。我应该执行一些代码执行,但我究竟该如何写呢?

是否像写作一样简单:

$("a:contains('See All')").click(function() {
  // do something
});

因为这似乎不起作用。有什么帮助吗?

3 个答案:

答案 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
});

http://jsfiddle.net/99LMh/

答案 2 :(得分:0)

如何使用链接缩短服务(例如Google的https://goo.gl/,或点击推文的clicktotweet.com,免费获得5并在之后付款)。使用缩短的链接。

这将跟踪点击链接的次数。

现在你在寻找什么,没有