gpt4 book ai didi

javascript - 替换类名在 jquery 中不起作用

转载 作者:行者123 更新时间:2023-12-03 04:16:18 25 4
gpt4 key购买 nike

我有一个 html 片段

 for (i = 0; i < 3; i++) {
if ($("div.mm-panels").children()[i].getAttribute("id") == "m2") {
var a = $("div.mm-panels").children()[i].getAttribute("class");
console.log(a);
var f = a.replace(a, "mm-panel mm-hasnavbar mm-opened");
alert("class name chnge to : " + f);

}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="mm-panels">
<div class="mm-panel mm-hidden mm-hasnavbar" id="m0"></div>
<div class="mm-panel mm-hasnavbar mm-opened" id="m1"></div>
<div class="mm-panel mm-hidden mm-hasnavbar" id="m2"></div>
</div>

我想找到 id="m2"的 mm-panel 的子级,并将类名替换为“mm-panel mm-hasnavbar mm-opened”,其他子级将类名替换为“mm-panel mm” -隐藏mm-hasnavbar”。

但没有替换。我该怎么做?

最佳答案

您的替换仅替换字符串“a”并将其保存到新字符串“f”中。

要设置元素的类,请使用$("div.mm-panels").children()[i].setAttribute("class",f)

for (i = 0; i < 3; i++) {
if ($("div.mm-panels").children()[i].getAttribute("id") == "m2") {
var a = $("div.mm-panels").children()[i].getAttribute("class");
var f = a.replace(a, "mm-panel mm-hasnavbar mm-opened");
$("div.mm-panels").children()[i].setAttribute("class",f)
} else {
var a = $("div.mm-panels").children()[i].getAttribute("class");
var f = a.replace(a, "mm-panel mm-hidden mm-hasnavbar");
$("div.mm-panels").children()[i].setAttribute("class",f)
}


$("div.mm-panels").children()[i].innerText = $("div.mm-panels").children()[i].getAttribute("class")
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="mm-panels">
<div class="mm-panel mm-hidden mm-hasnavbar" id="m0"></div>
<div class="mm-panel mm-hasnavbar mm-opened" id="m1"></div>
<div class="mm-panel mm-hidden mm-hasnavbar" id="m2"></div>
</div>

关于javascript - 替换类名在 jquery 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44126847/

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