如何通过jquery从tr获取第一个td文本

时间:2015-09-16 05:52:51

标签: javascript jquery html

我想在tr行中获取单元格的文本。 tr行有class attr和data-attr。 我选择tr行为

var k = $('tr[class="BatchTypesRow"][data-rowselected="true"]');

然后

var m = k.children("td:first");    
var sBtype = m.text();    
alert(sBtype);    

sBtype包含所有细胞'行中的文字。 我试过了

var sBtype = m[0].text();    

捕获异常。

那么这里有什么问题? 如果单元格不是行中的第一个单元格,该怎么做?

3 个答案:

答案 0 :(得分:1)

此处Popen(['plink.exe -ssh root@172.20.0.102 ls'], shell=True, stdout=f, stderr=f, cwd=cwd) 本身是m

以来行​​的第一个td

只要选择var m = k.children("td:first");m.text()就不会给出整行。如果您使用td:first,那么您将获得.children("td")中的整行。所以在你的代码中,

m.text()

实际上会给出第一个单元格内容。

如果不是第一个单元格,您将使用var sBtype = m.text(); alert(sBtype); 删除关键字var m = k.children("td");。在这种情况下,m [0]将具有第一个单元格,m [1]秒,依此类推。

纠正我如果错了,我相信这就是你得到异常的方法,使用first会抛出异常,因为m [0],m [1]不是JQuery对象。它们是HTMLTableCellElement对象。

要将其用作JQuery对象,您必须使用m[0].text()

如果您知道要在其序列中选择哪个元素,则可以使用

$(m[1]).text()

您可以使用该号码替换var m = k.children("td:nth-child(n)"); ,以便选择该行的n

希望这有帮助。

答案 1 :(得分:0)

$('tr.selected td:first-child').text();

答案 2 :(得分:0)

首先,选择文本所在的tr。您可以使用类attr

$(" tr.BatchTypesRow&#34)

然后遍历树以获得td即其子项

$(" tr.BatchTypesRow&#34)的儿童。(" TD&#34)

因为你需要第一个孩子,是你遍历所选tr的第一个td,它可以进一步写成

$(" tr.BatchTypesRow&#34)的儿童。(" TD:第一&#34)

如果文本位于所选td内的标签内

$("tr.BatchTypesRow").children("td:first").children("label").text();

会为您提供所需的文字。