gpt4 book ai didi

javascript - 类型错误 : undefined is not a function jQuery

转载 作者:行者123 更新时间:2023-11-28 15:36:42 24 4
gpt4 key购买 nike

我是 jQuery 新手,有时可以让它工作,但是,由于某种原因,当我尝试调用函数时,它会给我标题错误,但如果我在开发人员工具中执行此操作,它会工作很好。

http://jsfiddle.net/otanan/pmzzLo3e/#&togetherjs=AezijhfBrj

从 DOM 检索类时似乎工作正常,但当我调用诸如此类的函数时则不然

.click(function() {});

代码如下:

var downloads = $(".info"),
className = "info_clicked";

for(var i in downloads)
{
downloads[i].click(function()
{
if(!this.hasClass(className))
this.addClass(className);
else
this.removeClass(className);
});
}

最佳答案

当您以数组形式访问 jQuery 集合时,它返回 DOM 元素,而不是 jQuery 对象。您应该使用 .each() 而不是 for (i in downloads):

downloads.each(function() {
$(this).click(function() {
if (!$(this).hasClass(className)) {
$(this).addClass(className);
} else {
$(this).removeClass(className);
}
});
});

您还可以将整个事情简化为:

downloads.click(function() {
$(this).toggleClass(className);
});

如果有意义的话,大多数 jQuery 方法会自动迭代集合中的所有元素(值得注意的异常(exception)是从元素返回信息的方法,例如 .text().val()——它们只使用第一个元素)。因此,如果您需要为每个元素执行不同的操作,通常只需显式迭代即可。这是使用 jQuery 而不是普通 JS 的一大便利:您很少需要编写显式迭代。

关于javascript - 类型错误 : undefined is not a function jQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25375066/

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