0

我对 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 新手。

4

1 回答 1

0

第一:你不能有多个相同的元素id。这就是我们称它们为标识符的原因。id在多个元素上使用相同的值是无效的(而且是荒谬的) 。

但是要回答如何同时查询id和的问题class,您可以支持querySelector/querySelectorAll的浏览器上执行此操作。但如果id以数字开头则不是,因为querySelector/querySelectorAll使用 CSS 选择器,并且id以数字开头的值在 CSS 中无效(它们在 HTML 中有效)。

如果我们假设你想找到一个带有id "abc"和 class的元素"foo",但你不想找到"abc"没有 class 的元素"foo",你可以这样做:

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

但同样,不要用 来区分两个元素id "abc",因为你不能将相同的元素赋予id多个元素。

于 2013-03-25T23:17:55.697 回答