2012-06-15 57 views
2
<div id="content-container"> 
<ul> 
<li id="link1"><a href="http://mysite/ClassifiedPrograms/Pages/Training1.aspx">Training1</a></li> 
<li id="link2" ><a href="http://mysite/ClassifiedPrograms/Pages/Training2.aspx">Training2</a></li> 

<li id="link3" ><a href="http://mysite/ClassifiedPrograms/Pages/Training3.aspx">Training3</a></li> 
<li id="link4" ><a href="http://mysite/ClassifiedPrograms/Pages/Training4.aspx">Training4</a></li> 

</ul> 
</div> 

當任何鏈接被點擊時,onclick鏈接應改變父li-id並使其點擊鏈接1如果link1被點擊。我如何做到這一點在jQuery中?改變父母的ID ID點擊鏈接

回答

1

更改上課的時候鏈接被點擊不一定會幫助這裏將立即復位爲新的頁面加載的li的。

你也可以使用這樣的:

$("a:visited").parent("li").addClass("is_visited"); 

這將「is_visited」的類添加到該鏈接已被訪問任何li

2

你不應該改變ID,因爲他們就是這樣(在我看來)。

在這種情況下,我會跟蹤什麼被點擊帶班,使用jQuery addClass()removeClass()toggleClass(),所以一旦你點擊類clicked添加到父li元素。

http://api.jquery.com/addClass/

http://api.jquery.com/removeClass/

http://api.jquery.com/toggleClass/

這樣:

$(document).ready(function() { 
    $("a").click(function(event){ 
     $(this).parent().toggleClass("clicked"); 
    }); 
}); 

作爲一個粗略的例子來追蹤點擊的狀態,那麼你可以做一個$(".clicked")選擇讓這些元素。

2

使用jQuery:

$('#content-container a).click(function(e) { 
    e.preventDefault(); 
    $(this).parent().attr('id', 'clicked' + (this).attr('id')); 
}); 

,但你should'nt真正改變ID,您可以設置,而一類

$('#content-container a).click(function(e) { 
e.preventDefault(); 
$(this).parent().addClass('clicked'); 
}); 
0

你應該是數量添加到鏈接不知何故,也許data-nr屬性。

然後:

  1. 分配一個事件偵聽器鏈接

    $('a').click(function(){ });

  2. 提取數

    var nr = $(this).attr('data-nr');

  3. 設置父ID

    $(this).parent().attr('id', 'clickedlink'+nr);

0

將此放在你的網站的負責人或以任何Javascript的文件:

$(document).ready(function() {  
$('a').click(function() { 
$(this).parent().attr('id', 'clicked' + $(this).parent().attr('id')); 
}); 
}); 
0
​$(document).ready(function(){ 
    $("#content-container a").click(function(){ 
      var id = $(this).parent().attr("id"); 
      $(this).parent().attr("id","clicked" + id); 

    });   
});​