p.className="message"和p.setAttribute("className","message")

来源:9-17 创建文本节点createTextNode

win_lee

2014-11-27 00:57

为什么p.className="message"和p.setAttribute("className","message")不是一样的,前者有效,后者无效呢

写回答 关注

2回答

  • 东吴老大
    2014-11-27 09:47:21

    p.className = 'message' 效果上等价于 p.setAttribute('class', 'message'),前者是取/设置DOM的标准属性,后getAtrribute和setAttribute是取/设置DOM的非标准属性,当然标准的也行,并且直接写属性名就行了,不用做任何变换;


    DOM标准属性与javascript中保留字冲突时(例如label的for属性),通常会写成html+属性名(如htmlFor),但class属性是个例外,class在javascript中是将是很重要的保留字(暂时还没用),作为js中DOM属性的class会写成className

  • dayscounting
    2014-11-27 09:02:04

    前者给该class 为message 后面是设置className属性为Message   而不是class

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468195 学习 · 21891 问题

查看课程

相似问题