我对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新手。
答案 0 :(得分:0)
首先:你不能拥有多个具有相同id
的元素。这就是我们称之为标识符的原因。在多个元素上使用相同的id
值是无效的(并且是荒谬的)。
但回答了如何对id
和class
进行查询的问题,可以在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
提供给多个元素。