我是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会覆盖它们。
答案 0 :(得分:5)
getElementsByTagName
方法返回一个集合(更具体地说,是NodeList
)。您需要指定要使用的集合中的哪个元素(就像访问数组中的元素一样)。在这里,我假设您想要第一个:
convIdDl[0].setAttribute("align", "right");
如评论中所述,您绝对不应该使用align
属性。在所有情况下都应该使用CSS。
答案 1 :(得分:4)
getElementsByTagName()
函数返回DOM元素的集合,因此您可能希望迭代它并在每个元素上单独设置属性。
for(var i = 0; i < convIdDl.length; i++) {
convIdDl[i].setAttribute("align", "right");
}