2015-09-06 51 views
1

我從陣列此elemnt,獲得的價值和休息

<td>​85%​</td>​

我如何得到的85%從它的價值?我認爲.val().text()可能工作。但不明白爲什麼不。有人可以解釋如何獲得價值以及我的理解有缺陷的地方嗎?

這是我的控制檯視圖。

row 
<tr>​<td>​DeviceName1​</td>​<td>​85%​</td>​<td>​87%​</td>​<td>​75%​</td>​<td>​63%​</td>​</tr>​ 
_.rest($(row).children()) 
[<td>​85%​</td>​, <td>​87%​</td>​, <td>​75%​</td>​, <td>​63%​</td>​] 
_.rest($(row).children())[0] 
<td>​85%​</td>​ 
_.rest($(row).children())[0].val() 
Uncaught TypeError: _.rest(...)[0].val is not a function(…) 
+0

不確定關於REST,但是當你調用'第一個數組成員',你不再有jQuery對象 - 然後你可以應用vanillaJS函數... http://stackoverflow.com/questions/2445599/jquery-object-as-a-array-id0 ps val()將不起作用,它是輸入類型的屬性,text()應該工作... – sinisake

回答

1

當您獲得數組中的第一個元素[0]時,它不再是JQuery對象,因此它不會響應text()或任何其他JQuery函數。

您應該直接調用.text() jQuery對象,所以,如果你想獲得每個孩子的文本:

$.each($(row).children(), function(index, value) { 
    console.log($(value).text()); 
}); 

,或者如果你想獲得的第一個孩子的文本:

$(row).children().first().text() 
0

改爲使用.html(),它將選擇td中的任何內容。通常輸入標籤具有值屬性,tr/td是表格結構的一部分。

+0

不起作用__rest($(row).children())[0] .html() VM398: 1 Uncaught TypeError:_.rest(...)[0] .html不是函數(...)' – HattrickNZ

0

所以你基本上想要得到給定行中第n個表格單元格的值,對吧?

試試這個(你不需要_.rest):

$("td", row).eq(1).text() 

這也適用於一個真正的文件,見http://fiddle.jshell.net/067x52fq/

[0].val is not a function錯誤是由於您獲得了DOM元素[0],因此無法在其上使用任何jQuery方法。