繁体   English   中英

如何通过jQuery从TR中获取第一个TD文本

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM