2011-07-06 77 views
1

我想從tbody中的tr標籤中獲取文檔編號屬性,並將其保存在數組中。如何使用JQuery獲取內部tr標籤?

下面是HTML,我正在

<tbody class="line-item-grid-body"> 
    <tr data-group-sequence-number-field-index="" data-sequence-number-field-index="1" documentnumber="80" documentid="4133604" parent="80" class="line-item parent-line-item line-item-show reorderable-row droppable-element"> 
     <td> 
       <table> 
        <tbody> 
      <tr></tr> 
        </tbody> 
       </table> 
     </td> 
    </tr> 
    <tr data-group-sequence-number-field-index="" data-sequence-number-field-index="1" documentnumber="80" documentid="4133604" parent="80" class="line-item parent-line-item line-item-show reorderable-row droppable-element"> 
    </tr> 
</tbody> 

,這是我做的,這是行不通的。如果我沒有指定特定類別,那麼系統也抓住內部tr標籤,我不想要

var docs = jQuery("#line-item-grid").find('tbody').find("tr[class='line-item parent-line-item line-item-show reorderable-row droppable-element']"); 

for (i=1;i<=docs.length;i++) 
{ 
var tempValue = jQuery(docs[i]).attr('documentnumber'); 
alert(tempValue); 
} 

任何想法?

+0

嘗試'TR [@class = ...'來代替。 '@'表示你想匹配一個屬性。 –

+1

爲什麼你的table * cells *裏面有table * rows *,爲什麼你有兩個相同的未封閉的行......? – Ryan

+0

爲什麼你使用類的屬性選擇器,它應該看起來像'tr.line-item.parent-line-item.line-item-show.reorderable-row.droppable-element' – Ryan

回答

3

有幾種方法,你可以去這個問題。我會做以下....

var docs = $('.line-item-grid-body>tr'); 

Docpage:Child selector

另一種選擇:

var docs = $('.line-item-grid-body').children('tr'); 

收藏和頻繁的這個網頁... Selectors - jQuery API

+0

謝謝你的及時反應的老兄...工作就像一個魅力..感謝 !! – Nitesh

2

試試這個作爲你的選擇

$('tbody > tr','#line-item-grid'); 
+0

+1爲完美的解決方案 – diEcho

+0

這工作,但我得到文檔編號的第一個標記,然後undefined,然後文檔編號的最後標記。還有什麼我失蹤? – Nitesh

+0

嘗試更改您的循環爲 'docs.each(function,(item){alert($(item).attr('documentnumber);});' 也請記住您對帖子的評論未封閉的標籤 – TommyBs

0

嗯,我沒」這個測試(所以檢查錯別字),但關閉我的頭頂,我會嘗試這樣的事情:

jQuery(".line-item-grid tbody > tr").each(function() { 
    alert($(this).attr('documentnumber'); 
}); 

您可以一個接一個地定義選擇器,幾乎與CSS相同。 還檢查子選擇器(http://api.jquery.com/child-selector/)以選擇直接子元素。

希望它可以幫助