[英]How to get first td text from a tr by jquery
我想在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();
捕获一个异常。
那么这是什么问题呢? 如果该单元格不是行中的第一个单元格,该怎么办?
在这里, m
本身是该行的第一个td
,因为var m = k.children("td:first");
因此,只要选择了td:first
m.text()
就不会给出整行。 如果使用.children("td")
则将在m.text()
获得整行。 所以在您的代码中
var sBtype = m.text();
alert(sBtype);
实际上会给出第一个单元格的内容。
如果不是第一个单元格,则将使用var m = k.children("td");
first
删除关键字。 在这种情况下,m [0]具有第一个单元,m [1]具有第二个单元,依此类推。
如果我错了,请纠正我,我相信这是您得到异常的方式,使用m[0].text()
会引发异常,因为m [0],m [1]不是JQuery对象。 它们是HTMLTableCellElement对象。
要将其用作JQuery对象,必须使用$(m[1]).text()
。
而且,如果您知道要选择哪个元素及其顺序,则可以使用
var m = k.children("td:nth-child(n)");
您可以在其中用数字替换n
,以便选择该行的nth td
。
希望这可以帮助。
$('tr.selected td:first-child').text();
首先,选择文本所在的tr,您可以使用attr类
$( “tr.BatchTypesRow”)
然后沿着树下走以获得td,即它的子代
$( “tr.BatchTypesRow”)。儿童( “TD”)
当您需要第一个孩子时,它是您穿越所选tr时的第一个td,可以进一步写为
$( “tr.BatchTypesRow”)儿童( “TD:一是”)。
如果文字位于所选td内的标签内
$("tr.BatchTypesRow").children("td:first").children("label").text();
会给你想要的文字。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.