我想在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();
捕获异常。
那么这里有什么问题? 如果单元格不是行中的第一个单元格,该怎么做?
答案 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();
会为您提供所需的文字。