2011-07-08 104 views
2

我有兩個鏈接一個div:如何判斷使用JQuery單擊了哪個錨?

<div id="copyrightFooter"> 
    <p>Copyright &copy; 2011 MY Company, LLC. All rights reserved. please review our 
     <a id="privacyPolicy" style="color: #9DB2E7;font-weight:bold" href="#">Privacy Policy</a> and our <a id="terms" style="color: #9DB2E7;font-weight:bold" href="#">Terms of Use</a> 
    </p> 
</div> <!-- copyrightFooter--> 

我目前拍攝上與jQuery這兩個鏈接的點擊次數:

jQuery(function ($) { 
    // Load dialog on page load 

    // Load dialog on click 
    $('#copyrightFooter a ').click(function (e) { 
     $('#basic-modal-content').modal(); 
     return false; 
    }); 

}); 

的問題是,該代碼同時適用於鏈接。我想「切換/大小寫」我點擊了哪個ID,這樣我就可以模擬對話一個不同的DIV。我做的沒有什麼作品? 「警告」ID帶回「未定義」或類似的東西,所以開關盒不起作用。我究竟做錯了什麼?

+0

因此'alert(this.id)'提醒未定義'? – lonesomeday

+0

你如何獲得ID? $ id = $(this).attr('id');應該給你主播的ID。 –

+0

@ lonesomeday,它認爲它必須是'$(this)',你可以'self = $(this)',然後'self.id' ... –

回答

0

你可以這樣做:

$('#copyrightFooter a ').click(function (e) { 
    var id = $(this).attr("id"); 
    switch(id){ 
     case "privacyPolicy": 
      ... 
      break; 
     case "terms": 
      ... 
      break; 
    }   
    return false; 
}); 

希望這有助於。乾杯

1
$('#copyrightFooter a ').click(function (e) { 
    alert($(this).attr('id')); 
}); 

應該正常工作。

1

在事件處理函數中使用this將爲您提供對被單擊元素的引用。例如,讓你可以做單擊元素的id

$('#copyrightFooter a ').click(function (e) { 
    var clickedID = this.id; 
}); 

你也可以使用jQuery的$(this).attr("id");,但沒有必要過度使用jQuery的時候一個簡單的純JavaScript語句就足夠了。

1
jQuery(function ($) { 
    // Load dialog on page load 

    // Load dialog on click 
    $('#copyrightFooter a ').click(function (e) { 
     if($(this).attr("id") == "privacyPolicy") 
     { 
      alert("display Modal 1"); 
     }else if($(this).attr("id") == "terms"){ 
      alert("display Modal 2"); 
     } 

     return false; 
    }); 

}); 

使用$(this).attr(「id」);獲取您點擊的div的ID。

這裏是一個工作示例:http://jsfiddle.net/HPsgE/

+0

這就是爲什麼開關被髮明:) –

+0

@webarto爲什麼使用開關的兩個選項? –

0
$('#copyrightFooter a').click(function (e) { 

    switch($(this).attr('id')){ 
     case 'privacyPolicy': id = '#basic-modal-content'; break; 
     case 'terms': id = '#basic-modal-content'; break; 
    } 

    $(id).modal(); 
    return false; 

}); 
0

您可以檢查ID是這樣的:

$('#copyrightFooter a ').click(function (e) { 
    if(this.id=="privacyPolicy"){ 
     .. 
    } 
    else{ 
     .. 
    } 
}); 
相關問題