问答详情
源自:9-16 创建元素节点createElement

setAttribute问题

aa.style.fontSize="30px";

aa.setAttribute('style','color:red');

效果如下:

57106535000170ec01020063.jpg

aa.style.color="red";

aa.setAttribute('style','font-size:30px');

效果如下:

571065350001632301120051.jpg

 aa.setAttribute("style","font-size:30px");

 aa.setAttribute("style","color:red");

效果如下:http://img.mukewang.com/571065d2000170ec01020063.jpg

都没有达到预期的效果。

为什么setAttribute("style","font-size:30px");类似的用法不管用,达不到效果呢??

提问者:kevine099 2016-04-15 11:55

个回答

  • 精气神_杭州拱墅区
    2016-04-15 14:52:30
    已采纳

    aa..width="100px";aa.setAttribute("width","200px");是后一个覆盖了前面那一个;aa.setAttribute("style","color:red")的意思:把aa的style(行内样式)替换成color:red,原有的全部清除;它把style当成时一个属性一次性操作了;

    <div id="aa" style="font-size:30px;color:blue;text-indent:20px;"></div> 执行aa.setAttribute("style","color:red"),就变成这样了<div id="aa" style="color:red;"></div>;;

    aa.style.fontSize="30px";的意思把style属性中的fontSize属性赋值为30px;

    上图修改:

    1.

    aa.setAttribute('style','color:red');

    aa.style.fontSize="30px";

    2.

    aa.setAttribute('style','font-size:30px');

    aa.style.color="red";

    3. 

     aa.setAttribute("style","color:red;font-size:30px");

    这样应该就有你要的效果了

  • qq_精慕门4242594
    2016-04-15 15:08:56

    setAttribute(); 是assgin的 前一个的内容不保留

    除非你setAttribute("style","{"font-size":"30px","color":"red"}");