如何使用纯javascript设置嵌套在div中的标签

时间:2012-09-05 08:57:17

标签: javascript jquery css

我习惯了JQuery但不习惯纯Javascript。 我有这个:

document.getElementById("div-id a").style.javascript_property = "color: red;";

OF COURSE它不起作用。 我想要的是一个特定div中的所有a-tags都有一个id ='div-id'变成红色。

在jquery中我会写:

$('#div-id a').css('color', 'red');

但我需要纯粹的js。

2 个答案:

答案 0 :(得分:5)

使用:

var div = document.getElementById("div-id");
var list = div.getElementsByTagName("a");
for (var i = 0; i < list.length; i++) {
  list[i].style.color = "red";
}

答案 1 :(得分:1)

getElementById方法采用表示 id 的字符串,而不是选择器。线索就在名字中。 querySelectorAll方法接受一个表示选择器的字符串,但它返回一个nodeList,因此你必须像数组一样循环它。

您调用的javascript_property属性名称需要与CSS属性名称匹配(带连字符的单词转换为camelCase)(因此它应该是"color")。

您提供的值需要与CSS属性值匹配,而不是整个规则(所以"red")。

然而,这些都不是纯JavaScript。它是DOM(来自Selectors API的querySelectorAll除外)。