gpt4 book ai didi

javascript - 使用 Javascript 更改 a 元素的类

转载 作者:行者123 更新时间:2023-11-30 07:09:58 26 4
gpt4 key购买 nike

我是 Javascript 的新手,遇到了一个烦人的问题。

我有一个包含列表的列表。我有一个脚本,可以在单击时将列表设置为可见/不可见。但是,我不想在链接被按下后切换/添加一个类。

我的列表是这样的

<ul>
<li><a href="#" onclick="toggle('item1');">Click something</a>
<ul id="item1" style="display: none;">
<li>Something ...</li>
<li>Something something</li>
</ul></li>
<li><a href="#" onclick="toggle('item2');">Click something else</a>
<ul id="item2" style="display: none;">
<li>Something more...</li>
<li>Something something less?</li>
</ul></li>
</ul>

我的脚本是这样的:

<script type="text/javascript">
function toggle(id) {
var v = document.getElementById(id);

if (v.style.display == '') {
v.style.display = 'none';
v.removeClass("selected");
} else {
v.style.display = '';
v.addClass("selected");
}
}
</script>

列表按预期显示和隐藏,但没有添加或删除类。

CSS 是这样的:

a:link {
color: #000000;
text-decoration: none;
}

a:hover, a.selected {
color: #005b97;
text-decoration: none;
padding-left: 2px;
}

提前致谢

最好的问候本杰明

最佳答案

js 没有内置的添加和删除类

试试这个

添加一个类

document.getElementById("MyElement").className += "MyClass";

删除类

document.getElementById("MyElement").className =
document.getElementById("MyElement").className.replace
(/(?:^|\s)MyClass(?!\S)/, '' )

如果你需要检查一个元素是否有一个类

function hasClass(ele,cls) {
return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
}

关于javascript - 使用 Javascript 更改 a 元素的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11900217/

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