当用户点击我表格中的单元格时,我想使用以下内容遍历表格的行:
var table = $(this).closest('table');
$(table+" tr").each(function(){
console.log($(this).text());
});
但是我收到以下错误:
uncaught exception: Syntax error, unrecognized expression: [object Object]
我做错了什么?
答案 0 :(得分:8)
table
是一个对象,而不是一个字符串。试试这个:
$('tr', table).each(function() {
这将选择tr
的后代table
元素。
你也可以这样做:
table.find('tr').each(function() {
答案 1 :(得分:1)
table
是一个jQuery集合。它的toString方法返回[object Object]
。将字符串连接到对象时,它使用toString来构建结果字符串。
“[object Object] tr”不是有效的选择器表达式。您可以使用.find
选择jQuery集合的后代,或者将集合作为第二个参数提供给jQuery方法(选择器的上下文)。
请注意,迭代不一定需要.each
。这取决于你需要做什么。
console.log($(this).closest("table").find("tr").text());