检查页面上是否已存在链接

时间:2015-05-07 18:39:21

标签: jquery

我正在尝试解决两种情况:

  1. 确定点击链接是否已存在于页面上。

  2. 然后,如果该链接已存在,请获取点击重复链接的链接的index()。

  3. 我的代码无法正常工作,因为如果点击的链接是重复的,并且它给我一个所有链接总和而不是重复链接的索引,它就无法正确识别。

    $("a").click(function() {
       Rank = $(this).index('a');
       if($("a").attr("href") != $(this).attr("href")) {
            alert('\nLink Rank '+Rank+'\n\nYes, this is duplicate link');
           return false;
        }
        else {
            alert('\nLink Rank '+Rank+'\n\nNo, this is NOT a duplicate link');
            return false;
        }
    });
    

    演示:http://jsfiddle.net/no4gkk0n/1/

1 个答案:

答案 0 :(得分:4)

您可以使用属性选择器查找具有相同属性的元素:[href="foo"],然后检查length属性。如果它超过1,则会出现重复的链接:

$("a").click(function (e) {
    e.preventDefault();
    Rank = $(this).index('a');
    if ($("a[href='" + $(this).attr("href") + "']").length > 1) {
        alert('\nLink Rank ' + Rank + '\n\nYes, this is duplicate link');
    } else {
        alert('\nLink Rank ' + Rank + '\n\nNo, this is NOT a duplicate link');
    }
});

Example fiddle