gpt4 book ai didi

javascript - 在这种特殊情况下,indexOf 匹配变量

转载 作者:行者123 更新时间:2023-11-28 21:10:52 24 4
gpt4 key购买 nike

我想检查mydiv是否有,如果没有,则添加var中的任何内容 newClass。我试图这样做,但它不起作用:

var newClass="classToBeAdded";

if(document.getElementById("mydiv").className.indexOf(/(?:^| )(newClass)(?:$| )/)==-1){
document.getElementById("mydiv").className+=" "+newClass;
}

最佳答案

使用这个:

var newClass = "classToBeAdded";
var d = document.getElementById("mydiv");
var r = new RegExp(" " + newClass + " ");
if (r.test(" " + d.className + " "))
// do something here

或者,类似地:

var d = document.getElementById("mydiv");
if ((" " + d.className + " ").indexOf(" " + newClass + " ") != -1)
// do something here

className 字符串之前和之后添加空格,以便无论目标类出现在字符串中的哪个位置,我们都会匹配目标类。

一些测试

假设以下函数:

function hasClass(str, name) {
return (" " + str + " ").indexOf(" " + name + " ") != -1;
}

测试:

hasClass("target", "target") // true
hasClass("test target test1", "target") // true
hasClass("test1 target", "target") // true
hasClass("target test1", "target") // true
hasClass("test1", "target") // false

关于javascript - 在这种特殊情况下,indexOf 匹配变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8719345/

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