2012-04-04 51 views
0

查找'li'下的鏈接的類名,我想要在alert框中獲取鏈接的類名('a'元素)。例如,單擊'一'將顯示'm',對於'兩'將顯示'n';在點擊任何li元素時,使用jquery

HTML:

<ul> 
<li ><a class="m">One</a></li> 
<li><a class="n">Two</a></li> 

</ul> 

的javascript:

<script type="text/javascript"> 

var my_func=function(){ 

var link_class; // find this class name 

alert("link class name ="+ link_class); 



}; 


$(document).ready(function(){ 

$('ul li').click(my_func); 


}); 

</script> 

我如何才能找到使用jQuery變量 'link_class' 的價值?

回答

2
var my_func = function(){ 
    var link_class = $(this).find('a').attr('class'); // find this class name 
    alert("link class name ="+ link_class); 
}; 

$('ul li').click(my_func); 

或在較短的方式,不使用新的變量表達功能

$('ul li').click(function() { 
    var link_class = $(this).find('a').attr('class'); // find this class name 
    alert("link class name ="+ link_class); 
}); 
0
<script type="text/javascript"> 

var my_func=function(){ 

var link_class; // find this class name 

link_class = $(this).children('a').attr('class'); 

alert("link class name ="+ link_class); 



}; 


$(document).ready(function(){ 

$('ul li').click(my_func); 


}); 

</script> 
+0

孩子將無法正常工作,在他的代碼中有沒有孩子的'一元素。其中最多的是兄弟姐妹,但是這會返回所有類似的姐姐「a」標籤與元素,而不是他點擊的元素。 – 2012-04-04 07:44:33

+0

我想你會想撤銷該評論。我的方法尋找一個錨點標記,它是點擊li元素的直接子元素。在此之後,它將變量link_class設置爲錨點的類屬性。 – trickyzter 2012-04-04 08:52:54

+0

是的你是對的,我一定已經讀了他的問題太快了,我'假設'因爲他在'li'裏有'a'元素,通過點擊'a' jQuery的''this''將被認爲是'a''而不是'李'。但是因爲他只是簡單地使用'a'來查找類名(再次假設他們是死鏈接或#鏈接),那麼他將需要確保他爲'a'標記使用'preventDefault()'。如果他們是「死鏈接」,那麼我會建議他使用''而不是CSS,如果這是他想要實現的樣式,就像鏈接一樣。 – 2012-04-05 03:27:47

0
$("li a").click(function(){ 
    alert($(this).attr('class')); 
}); 
+0

這是正確的。問題是實時問題的一部分。出於某種原因,我不能使用你所建議的選擇。 – 2012-04-04 09:30:35