0

我是 JavaScript 新手,所以我认为我的问题可能很简单。这有效:

var convId = document.getElementById("wrapper");
convId.setAttribute("align","right");

但是当我试图让它更具体时:

var convId = document.getElementById("wrapper");
var convIdDl = convId.getElementsByTagName("dl");
convIdDl.setAttribute("align","right");

我的定义列表没有右对齐。我已经检查了 HTML 和 CSS,一切都是正确的,但这甚至不应该被 JavaScript 覆盖。

4

2 回答 2

5

getElementsByTagName方法返回一个集合(更具体地说, a NodeList)。您需要指定要使用该集合的哪个元素(就像访问数组中的元素时一样)。在这里,我假设您想要第一个:

convIdDl[0].setAttribute("align", "right");

如评论中所述,您绝对不应该使用该align属性。在所有情况下都应使用 CSS。

于 2012-04-07T20:32:36.503 回答
4

getElementsByTagName()函数返回一个 DOM 元素的集合,因此您可能需要遍历它并分别为每个元素设置属性。

for(var i = 0; i < convIdDl.length; i++) {
    convIdDl[i].setAttribute("align", "right");
}
于 2012-04-07T20:33:57.403 回答