gpt4 book ai didi

javascript - 为什么必须从集合中重新选择一个 JQuery 元素?

转载 作者:行者123 更新时间:2023-11-29 17:26:14 25 4
gpt4 key购买 nike

我的页面上有许多复选框,每个复选框都有一个名称属性来表示其有用的值。

我只想获取选中项目的值列表。我可以获得这样的元素集合...

var checkedItems = $(".checkbox:checked");

现在我想创建列表(字符串),所以我创建了一个循环...

var list = "";
for (var i = 0; i < checkedItems.length; i++) {
list += $(checkedItems[i]).attr("name") + "\n";
}

这有效并为我提供了我的列表。但问题是,为什么我必须应用 JQuery 对象,即 $(...) 才能使用 attr 属性?

如果我有以下内容,它就不会工作......

list += checkedItems[i].attr("name") + "\n";

但是数组应该已经是 JQuery 元素的集合了吧?为什么要重铸?

Here is a JSFiddle如果有人想尝试,请查看工作示例

编辑:为什么这行得通...

var item = $("#item");
var name = item.attr("name");

最佳答案

checkedItems[i] 是原始 DOM 元素,而不是 jQuery 对象。
要获取集合中给定元素的 jQuery 对象,请调用 checkedItems.eq(i)

您可以通过编写来更好地做到这一点

var list = $(".checkbox:checked")
.map(function() { return this.name; })
.get()
.join('\n');

关于javascript - 为什么必须从集合中重新选择一个 JQuery 元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8562997/

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