Javascript:Jquery Select-Object-by-Attribute-Value 不适用于 className

标签 javascript jquery html

我想从对象中删除“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/

相关文章:

javascript - 用 jQuery 替换相同结构中的不同单词

javascript - 如何阻止 jQuery 悬停事件应用 css 文本阴影?

javascript - 如何更新 Javascript 中的元组?

javascript - 如何使用 node.js 在 html 中调用外部 javascript 文件

html - css:表格高度不配合

javascript - 从数组中的对象获取特定值

javascript - 如何在不直接选择该选项的情况下将 HTML 选择框滚动到该选项?

javascript - 只读模式下的 TinyMCE 启用按钮

jquery - 使用 jquery 动态添加 facebook 之类的按钮

html - 我怎样才能将数组中的对象放在彼此下面而不是彼此相邻?