2017-02-27 64 views
0

我工作的一个脚本,动态创建一组按钮,所有这些都与类属性创建的,这样我可以样式。但造型从未奏效。可以使用Javascript中的点符号访问元素属性吗?

我添加了像这样的类值:button.class = "foo";其中button是DOM中的<button>元素的引用。

我改变了上面的代码button.setAttribute("class", "foo");和它的作品!

但是,这让我感到困惑,因为我使用点符号(或对象属性表示法?我不知道该怎么称呼它)来设置其他值,如属性value

例如,我有一些按钮事件侦听器。当他们被点击时,value属性被添加到元素。当它再次点击,它删除:

button.onclick = function() { 
    if (this.value) 
    this.removeAttribute("value"); 
    else 
    this.value = "bar"; 
} 

以上按预期工作。

所以我的问题是 - 为什么它像button.class = "foo";符号似乎与某些属性,而不是与他人合作?有没有一种方法可以找到哪些属性将使用该符号进行适当的表现?

回答

1

您需要使用className属性来获取和设置指定元素的class属性的值。

名称className用于此属性,因为这是用来操作DOM在许多语言中的“类”关键字冲突,而不是class

button.className= "foo" 
+0

你好,非常感谢你!我在哪里可以找到可以以这种方式访问​​的所有其他属性的参考? – Manuel

+1

@Manuel,https://developer.mozilla.org/en-US/docs/Web/API/Element – Satpal

+0

感谢分享,但该网页不说关于“价值”属性东西。如何像“button.value ='酒吧';”工作?哪个API做“价值”属性? – Manuel

相关问题