2009-11-13 81 views
0

從列表中抓取一個標題很困難,這裏是我的代碼。jQuery最近的標題

<ul class="selected connected-list ui-sortable" style="height: 170px;"> 
    <li class="ui-helper-hidden-accessible" style=""/> 
    <li class="ui-state-default ui-element" title="80 Days" style="display: list-item;"><span class="ui-icon ui-icon-arrowthick-2-n-s"/>80 Days<a class="action" href="#"></a> 
    </li> 
    </ul> 

第一個列表項不會有一個圖塊,因此它總是第二個列表項。

$("ul.selected").closest("li").attr("title"); 

但沒有結果。希望你能指教!

謝謝你在前進,如果你能

回答

3
$('ul.selected li:eq(1)').attr('title'); 

最接近不起作用,因爲它在元素本身和它的父母搜索,你需要搜索裏面的兒童。

eq通過其索引匹配單個元素,並且基於零。

+0

人,我感覺如此愚蠢。謝謝 ! – Lee 2009-11-13 20:26:28

+0

儘管這並不理想,因爲他必須知道(和硬編碼)列表項目的索引。我認爲其他答案更合適。 – 2009-11-13 20:29:58

+0

「你不必」哈哈哈我只是*有*投票給那個。 – 2009-11-13 20:30:58

0
$("ul.selected li[title]").attr('title'); 

將返回具有在<ul>標題中的第一<li>的值(注:所有<li>元件帶有標題將被包裹在jQuery對象)。該解決方案是靈活的,不依賴於任何特定<li>元素

4

您可以指定元素應具有特定屬性的特定硬編碼的位置:如果你有很多的

$('ul.selected li[title]').attr('title') 

列表中有標題的元素,你可能想限制搜索到第一個匹配。該attr方法仍然只獲得從第一個元素的屬性值,但在投入了大量的jQuery的結果的要素,你不會使用沒有意義的:

$('ul.selected li[title]:first').attr('title') 
+0

+1來編輯包含':first',因爲這裏的問題是關於找到「最接近」的標題。 – 2009-11-13 20:34:08