gpt4 book ai didi

javascript - 对象不支持属性或方法 'removeClass'

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:50:03 24 4
gpt4 key购买 nike

我正在尝试执行一个简单的 removeClass 和 addClass 来更改 Img 上的样式。

    <div id="Pic_Viewer">
<div id="Main_Pic_Viewer">
<div class="Not_Selected" >
<img src='#' alt="PicURL_1" />
</div>
<div class="Not_Selected" >
<img src='#' alt="PicURL_2" />
</div>
</div>
<div id="Small_Pic_Viewer">
<ul>
<li>
<img class="Small_Pic" src'#' alt="PicURL_1" />
</li>
<li>
<img class="Small_Pic" src='#' alt="PicURL_2" />
</li>
</ul>
</div>
</div>

我已经尝试在 div 内和不在 #Main_Pic_Viewer img 的情况下执行此操作。

js:

$('#Small_Pic_Viewer ul li').click(
function () {
var ThisLI = this.firstElementChild.alt;
var BigImgDiv = $('#Main_Pic_Viewer div');
var CurDiv;

for (var i = 0, l = BigImgDiv.length; i < l; i++) {
CurDiv = BigImgDiv[i];
if (BigImgDiv[i].children[0].alt === ThisLI) {
CurDiv.removeClass('Not_Selected').addClass('Selected');
} else {
CurDiv.removeClass('Selected');
};
};
}
);

不确定为什么我会收到此错误消息,因为 removeClass() 在其他方法中工作正常。

最佳答案

在 jQuery 对象中使用数字索引时,您会得到没有 jQuery 包装器的原始 DOM 元素。

只需将它再次包装在一个 jQuery 函数中就可以了:

// ...

CurDiv = $( BigImgDiv[i] );

// ...

@Andreas 在评论中建议的另一种解决方案是使用 eq()方法,这可能是更好的方法:

// ...

CurDiv = BigImgDiv.eq(i);

// ...

关于javascript - 对象不支持属性或方法 'removeClass',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16293513/

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