为了账号安全,请及时绑定邮箱和手机立即绑定

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://img1.sycdn.imooc.com//571065d2000170ec01020063.jpg

都没有达到预期的效果。

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

正在回答

2 回答

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");

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

2 回复 有任何疑惑可以回复我~
#1

kevine099 提问者

setAttribute的看懂了,但还是不明白前两个为啥要调换顺序就能成功?意思是先写的这种style设置aa.style.fontSize="30px";会被后写的setAttribute设置style给清空是吗?
2016-04-15 回复 有任何疑惑可以回复我~
#2

精气神_杭州拱墅区 回复 kevine099 提问者

是的.
2016-04-18 回复 有任何疑惑可以回复我~
#3

kevine099 提问者

非常感谢!
2016-04-18 回复 有任何疑惑可以回复我~

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

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

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       468046    人
  • 解答问题       21891    个

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

进入课程

setAttribute问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信