我有一个主 div 容器,里面有 4 个隐藏的 div(我用 display:none 在 css 中创建了一个类,并将它添加到每个内部 div),主 div 从下拉列表中读取一个值并根据读取值取消隐藏那么多 div。
<div id="ddlContainer">
<div id="div1" class="hide">
<center>Select option:</center>
<select id="ddl1">
<!--options are added here-->
</select>
</div>
<div id="div2" class="hide">
<center>Select option:</center>
<select id="ddl2">
<!--options are added here-->
</select>
</div>
<div id="div3" class="hide">
<center>Select option:</center>
<select id="ddl3">
<!--options are added here-->
</select>
</div>
<div id="div4" class="hide">
<center>Select option:</center>
<select id="ddl4">
<!--options are added here-->
</select>
</div>
</div>
但是 removeClass 对我不起作用。
var diff, NumofHiddenDDLs = $("#ddlContainer").children().filter("[class=hide]");
if (ReadValue > NumofHiddenDDLs.length) {
diff = 1;
}
else {
diff = 2;
}
if (diff == 1) {
//TODO add class hide to shown divs
}
else {
for (var i = 0; i < ReadValue; i++)
($("#ddlContainer").children()[i]).removeClass("hide");
}
谁能告诉我我做错了什么? 谢谢
最佳答案
你需要一个额外的$
:
$($("#ddlContainer").children()[i]).removeClass("hide");
这个 $("#ddlContainer").children()[i]
将返回 ID 为 ddlContainer
的元素的第 i 个子元素,这将是一个 html 元素而不是一个 jQuery 对象。所以你想访问 jQuery 方法。通过用 $
包装它,您将拥有一个 jQuery 对象,并且您可以访问 removeClass
方法。
实现相同结果的另一种方法是使用 Satpal
answer,其中不是访问具有索引的子数组而是使用 eq
方法并获取包含所需元素的 jQuery 对象。
关于javascript - removeClass 方法不工作 jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39076966/