2011-03-13 26 views
0

我試圖用.closest搶基於點擊<li>要素之一最接近<li>值。我沒有多少運氣。首先,我沒有多少運氣試圖找出如何將.click部件添加到.closest使用.closest用。點擊

在此先感謝。

<script> 

$(document).ready(function() { 



var test = $('#test').closest('li').text(); 

alert(test); 

}); 
</script> 
</head> 
<body> 
<tbody> 


<ul id="test"> 
    <li>1</li> 
    <li>2</li> 
    <li>3</li> 
    <li>4</li> 
</ul> 
+4

接受你以前的問題的一些答案。 – amosrivera 2011-03-13 17:52:45

+2

附註:我看到你在'body'元素使用'tbody'元素,這是不正確的。 'tbody'元素僅用作'table'元素的子元素。 – Guffa 2011-03-13 17:57:46

+0

'closest()'尋找最接近的父元素,而不是元素的子元素。對子元素的任何子元素使用'children()'爲直接子元素或'find()'。 – Mottie 2011-03-13 18:09:46

回答

1

掛鉤您使用click方法onclick事件,並提供一個功能事件處理程序:

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

在你可以使用this訪問被點擊元素的事件處理程序:

var test = $(this).text(); 

正如你所得到的元素中的文本,你不想使用closest方法,用於網絡連接找到一個不同的元素(特別是一個後代元素)。

所以:

$(function() { 

    $('li').click(function() { 
    var test = $(this).text(); 
    alert(test); 
    }); 

}); 
+0

感謝帖子!我試圖以這種方式應用它沒有任何成功。我在哪裏搞亂? $(函數(){ \t \t $( '投票'。)點擊(函數(){ \t \t VAR投票= $(本)的.text(); \t警報(票); \t \t \t}); \t \t }); }); 的投票 2011-03-13 21:27:56

+0

@ user550495:你有一個太多'});'在該代碼。這是一個工作示例:http://jsfiddle.net/k8EvB/ – Guffa 2011-03-14 07:34:25

+0

這很好!但是,我想要做的是獲得與投票文本確定的唯一值。 Ie 我想抓住這個ID,所以我知道要傳遞給數據庫。有什麼想法嗎? – 2011-03-15 02:16:09