gpt4 book ai didi

javascript - 包围时获取元素作为 jQuery 对象失败

转载 作者:行者123 更新时间:2023-11-30 10:20:23 25 4
gpt4 key购买 nike

我正在使用以下语法从 TABLE 中检索元素。

$("#table").children().children().children().html();

这给了我第一个 TD 的内容。然后我转到第二个,发现使用下面的括号语法选择它会给我一条错误消息,指出 html() 不是该对象的方法。

$("#table").children().children().children()[1].html();

相反,我必须像这样使用 innerHTML peoperty。

$("#table").children().children().children()[1].innerHTML;

我的印象是我做错了什么。在得到自己想要的结果的同时,不禁感慨还有更多推荐的方法可以解决这种调用。欢迎提出建议。

最佳答案

那是因为 html 是一个 jQuery 函数,但是 [1] 为您提供了 DOM 元素。

你可以使用.eq(n)获取第n个元素:

$("#table").children().children().children().eq(1).html();

...但是如果你循环遍历它们,重复上面的操作是非常低效的。相反,请考虑 each:

$("#table").children().children().children().each(function() {
// Use $(this).html(); for each cell's contents
});

更新 在您说的评论中:

I'm targeting four different elements with indexes like 143, 237 etc.

在那种情况下,记住初始元素集,然后根据需要使用 .eq:

var cells = $("#table").children().children().children();
cells.eq(143).html(...);
cells.eq(237).html(...);

如果您调整表结构(例如,您可能添加了一个 colgrouprowgroup 并且现在有不同的级别),您可能还会考虑一些不那么脆弱的东西:

var cells = $("#table td");

关于javascript - 包围时获取元素作为 jQuery 对象失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21721131/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com