javascript根据Id和类将样式应用于所选元素

时间:2013-03-25 23:11:27

标签: javascript

我对javascript很新,我想知道如何设置特定HTML的样式,如下所示:

<a id="234" action="." class="rawup"</a>
<a id="234" action="." class="rawdown"></a>

我希望将样式应用于上述内容,例如:

document.getElementById("234").style.backgroundPosition='0px 150px';

哪个工作正常..但是,我想做的是getElementById,然后是getElementByClass(?),以便我可以区分“rawup”和“rawdown”类。所以,像:

document.getElementById("234").getElementByClass("rawup").style.backgroundPosition='0px 150px';

我尝试了上述内容并没有起作用 - 想知道是否有人可以指导我。对不起这里的JS新手。

1 个答案:

答案 0 :(得分:0)

首先:你不能拥有多个具有相同id的元素。这就是我们称之为标识符的原因。在多个元素上使用相同的id值是无效的(并且是荒谬的)。

但回答了如何对idclass进行查询的问题,可以a browser that supports querySelector / querySelectorAll上执行此操作。但不是id以数字开头,因为querySelector / querySelectorAll使用CSS选择器,而以数字开头的id值在CSS中无效(它们在HTML)。

如果我们假设您要查找包含id "abc"和类"foo"的元素,但您不希望找到"abc"元素没有班级"foo",你可以这样做:

var element = document.querySelector("#abc.foo");
if (element) {
    // Found it
}
else {
    // Didn't find it
}

但是,请不要使用它来区分id "abc"的两个元素,因为您不能将同一个id提供给多个元素。