如何使用 jQuery .each() 查找孩子的孩子?
给定页面上有许多 TABLE 标签,如何选择所选表上的 TD 子级。
这是合乎逻辑的,但失败并出现以下错误:
Error: uncaught exception: Syntax error, unrecognized expression: [object Object]tr
我的代码
$(document).ready(function () {
var selectedTable = $('table').eq('9');
$(selectedTable).css('border','10px solid green');
$(selectedTable + 'tr td').each(function(i) {
$(this).css('border','10px solid blue');
});
});
Given many TABLE tags on a page, how do I select the TD childred on a selected table.
This is logical, but fails with this error:
Error: uncaught exception: Syntax error, unrecognized expression: [object Object]tr
My code
$(document).ready(function () {
var selectedTable = $('table').eq('9');
$(selectedTable).css('border','10px solid green');
$(selectedTable + 'tr td').each(function(i) {
$(this).css('border','10px solid blue');
});
});
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您还可以像下面这样链接:
此外,您不需要再次使用 $(selectedTable),因为您的选择器已经返回一个 jquery 对象。
You can also chain like the following:
Also, you don't need to use $(selectedTable) again as your selector already returns a jquery object.
使用
.find()
获取表的子项。您遇到的问题是selectedTable
不是选择器字符串,而是一个对象。您无法将对象与字符串连接起来,这就是您收到错误的原因。这应该可以正常工作:
Use
.find()
to get the children of the table. The problem you're having is thatselectedTable
isn't a selector string, but an object. You can't concatenate an object with a string, which is why you get your error.This should work fine:
selectedTable
是一个 jQuery 对象,而不是字符串。您不能在选择器中使用它。
相反,您需要使用 jQuery 的遍历 API:
selectedTable
is a jQuery object, not a string.You can't use it in a selector.
Instead, you need to use jQuery's traversal API: