为什么class属性不能通过javascript分配内联?

时间:2013-09-05 05:16:35

标签: javascript css

<html>
<head>
<style>
.tagging{
   border: 1px solid black;
   width : 20px;
   height: 30px;

}
</style>
<script>
window.onload = function(){
   var div = document.getElementsByTagName("div");
    div[0].class = "tagging";
}
</script>

</head>
<body>
<div></div>

</body>
</html>

这是我的代码。我想知道为什么当我通过javascript分配类属性时它不起作用,但是当我直接在html中分配内联时它可以工作

<div class="tagging"></div>

3 个答案:

答案 0 :(得分:8)

您需要使用className

尝试:

div[0].className = "tagging";

如果您想将tha类添加到现有的类中,您可以使用:

div[0].className += " tagging"; // adding white-space is important

演示here

阅读: MDN className

答案 1 :(得分:3)

使用className,所以更改:

var div = document.getElementsByTagName("div");
div[0].class = "tagging";

var div = document.getElementsByTagName("div");
div[0].className = "tagging";

演示:: jsFiddle

答案 2 :(得分:0)

<div id="div1" class="someclass">
    <img ... id="image1" name="image1" />
</div>
Then

var d = document.getElementById("div1");
d.className = d.className + " otherclass";