gpt4 book ai didi

javascript - 尝试更改图像状态时未捕获类型错误

转载 作者:行者123 更新时间:2023-11-28 02:41:29 24 4
gpt4 key购买 nike

我正在尝试编写一段代码,当单击按钮时,它会检查图像列表,检查它是否具有“视频”ID,如果有,则显示覆盖层并删除播放器在那里。

我不断收到此错误:

Uncaught TypeError: Cannot call method 'indexOf' of undefined

这是代码:

$("#actions .btn").click(function(){
$('.span img').each(function(){
if($(this).attr('id').indexOf('video') != -1){
var spanid = $(this).attr('id').replace(/video/, '');
$(this).removeClass('hideicon');
$('#mediaplayer' + spanid + '_wrapper').remove();
}
});
});

最佳答案

.attr()如果元素上不存在您要查找的属性,方法将返回 undefined。我建议对您的情况进行额外检查:

var id = $(this).attr('id');
if(id && id.indexOf('video') != -1) {
//OK!
}

来自文档:

As of jQuery 1.6, the .attr() method returns undefined for attributes that have not been set.

有趣的是,对于尚未设置的属性, native getAttribute 函数会返回 null。 jQuery,出于某种原因,explicity checks for this并返回未定义:

ret = elem.getAttribute(name);

// Non-existent attributes return null, we normalize to undefined
return ret === null ? undefined : ret;

关于javascript - 尝试更改图像状态时未捕获类型错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12584597/

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