我想从对象中删除“selected”类 <a>
.如果我给<a>
它是一个 ID 我可以通过 ID 调用它并通过 document.getElementByID("id_of_a").className = "";
删除它的当前类
但是,如果我不想给它一个 ID,我会使用 Jquery Attribute="value"来选择对象,然后在它之后添加 .className。但是 className 似乎不起作用。我尝试添加函数 hide() 来测试 jquery 代码是否正常工作。 hide() 有效,但我无法使用 .className 删除它的类。
<a class = "selected" href = "project_1" onclick = "changeTab()"> Link </a>
<script>
function changeTab() {
$('a[href="project_1"]').className = "";
}
</script>
最佳答案
这不是你在使用 jQuery 时设置类名的方式:
$('a[href="project_1"]').attr("class", "");
您从 $()
返回的对象不是 DOM 元素 — 它们是 jQuery 对象,并且它们有自己的行为。通常,有一种方法可以通过 jQuery API 进行 native 支持的任何 DOM 操作,并且如果需要,您始终可以访问实际的 DOM 元素。
使用 jQuery .removeClass()
API 来清除“class”属性会更加地道:
$('a[href="project_1"]').removeClass();
不向该方法传递任何内容将删除所有类。
关于Javascript:Jquery Select-Object-by-Attribute-Value 不适用于 className,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35074905/