如何使用JQuery获取html表格单元格文本值?
当使用以下命令单击此行时,我将设法获取一行中的单元格集合:如何使用JQuery获取html表格单元格文本值?,jquery,Jquery,当使用以下命令单击此行时,我将设法获取一行中的单元格集合: $('.NamesGridClass tbody tr').bind('click', function() { var ch = $(this).children(); alert(ch[0] + ' ' + ch[1]); }); 上述选择代码段成功显示: [object HTMLTableCellElement][object HTMLTableCellElement] 我尝试了ch[0].html(),ch[0
$('.NamesGridClass tbody tr').bind('click', function() {
var ch = $(this).children();
alert(ch[0] + ' ' + ch[1]);
});
上述选择代码段成功显示:
[object HTMLTableCellElement][object HTMLTableCellElement]
我尝试了
ch[0].html()
,ch[0].val()
,ch[0].text()
,但出现了错误。如何在此处获取单元格内容?要使用.html()
,需要将这些对象转换为jQuery对象:
$(ch[0]).html()
这同样适用于您希望应用的任何其他有效jQuery方法。请使用本机代码
ch[0].innerHTML
当您访问从jQuery获得的数组中的一个项时,您将返回普通的旧javascript元素,而不是jQuery元素。您可以使用javascript.innerHTML,也可以使用jquery选择器双重包装该值。我建议使用.innerHTML,因为它更简单,所以
$('.NamesGridClass tbody tr').bind('click', function() {
var ch = $(this).children();
alert(ch[0].innerHTML + ' ' + ch[1].innerHTML);
});
这是一个jquery标记的问题,因此建议OP使用本地语言似乎不合适。是的,你的“答案”是有效的,但这并不能帮助OP理解为什么他所尝试的不起作用。因为jQuery
.html()
使用相同的方法。再加上一些零碎的东西以确保交叉浏览器的兼容性.innerHTML
更快.html()
更安全。我会小心这一建议。如果OP必须支持较旧的浏览器,那么使用.html()
@jQuery00会更安全,当然,这也会做同样的事情,而且字符更少。但关键是.html()
只适用于jQuery对象。ch
和$(ch[0])
都是jQuery对象<代码>通道[0]不可用。