Javascript:Jquery Select-Object-by-Attribute-Value不能与className一起使用

时间:2016-01-29 00:37:56

标签: javascript jquery html

我想从对象<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>

1 个答案:

答案 0 :(得分:2)

当您使用jQuery时,这不是您设置类名的方式:

$('a[href="project_1"]').attr("class", "");

$()返回的对象是不是 DOM元素 - 它们是jQuery对象,并且它们有自己的行为。通常,有一种方法可以通过jQuery API本地支持任何DOM操作,如果需要,您可以随时访问实际的DOM元素。

使用jQuery .removeClass() API清除&#34;类&#34;会更加惯用。属性:

$('a[href="project_1"]').removeClass();

不传递给该方法将删除所有类。