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

标签 javascript jquery html

我想获取 tr 行中单元格的文本。 tr 行具有类属性和数据属性。 我选择 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:firstm.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

希望这有帮助。

关于javascript - 如何通过jquery从tr中获取第一个td文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32600729/

相关文章:

javascript - 如何使用具有唯一 ID/名称的 JQuery 增加/附加单选按钮?

javascript - 如何通过react router创建独立页面?

javascript - ASP.NET MVC AJAX 与 jQuery

html - 如何在 LI 中垂直居中文本和图像

javascript - 从数组列表渲染列表

php - 如何获取浏览按钮中显示的完整文件路径

javascript - jquery 检查空元素并删除

javascript - Foundation.js 无法处理具有哈希 URI 的页面

PHP/MYSQL显示数据库

html - 我应该使用哪种标签组合?