使用jQuery检查链接是否存在

时间:2011-07-05 15:45:09

标签: javascript jquery html css

我有一个分页div,其中包含指向previous页面<span id="previous"><a href="www.site.com/page/1" >Previous</a>next页面的链接。在第一页上,没有任何指向上一页的链接。

现在我有2个带前后箭头的图像按钮。如果用户点击这些按钮,jQuery将从上面提到的分页div中获取链接,并将用户重定向到这些链接。但是,如果第一页上不存在分页链接,则单击previous button将不会执行任何操作。

我的代码:

//img has id = info_rightclick_left

$("#info_rightclick_left").click(function() {
                    if($("#pagination_previous")) {
                        window.location  = $("#pagination_previous a").attr("href");
                    } else {
                        alert("NOO");
                    }
                });

现在的问题是,似乎#pagination_previous是否存在,单击图像仍会重定向用户。在这种情况下,在第1页上,用户被重定向到undefined

我该如何解决这个问题?

3 个答案:

答案 0 :(得分:4)

试试这个。

$("#info_rightclick_left").click(function() {
                    if($("#pagination_previous").length) {
                        window.location  = $("#pagination_previous a").attr("href");
                    } else {
                        alert("NOO");
                    }
                });

答案 1 :(得分:2)

你问题本身的答案!只需检查未定义如下:

$("#info_rightclick_left").click(function() {
   if($("#pagination_previous a").attr("href") !== "undefined") {
      window.location  = $("#pagination_previous a").attr("href");
    }
});

答案 2 :(得分:1)

if($("#pagination_previous").length > 0) {

jQuery返回捕获元素的列表,如果找不到任何它将返回一个空列表,但仍然是一个列表