2011-07-05 9 views
2

previousページ<span id="previous"><a href="www.site.com/page/1" >Previous</a>およびnextページへのリンクを含むページ区切りdivがあります。最初のページには、前のページへのリンクはありません。リンクが存在するかどうかを確認するためにjQueryを使用

ここでは、前後に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

どうすれば解決できますか?

答えて

4

これを試してください。

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

素晴らしいです。 – thedethe

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

jQueryのは、それが空のリストを返します任意のを見つけることができなかった場合、キャプチャ要素のリストを返しますが、まだリスト

2

あなたの質問自体に答え!次のように未定義をチェックしてください:

$("#info_rightclick_left").click(function() { 
    if($("#pagination_previous a").attr("href") !== "undefined") { 
     window.location = $("#pagination_previous a").attr("href"); 
    } 
}); 
関連する問題