getAttribute 无法设置属性

getAttribute 无法设置属性

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>execise</title>
    <style type="text/css">
     #title{
     color: orange;
     }
    </style>
</head>
<body>
<div id="header">
<p id="title">元素</p>
</div>

<script>
    var str4=document.getElementsByTagName("p");
    console.log(str4[0]);    //第一,在控制台输出时,有getAttribute获得的属性,为何在文档内容中没有显示
    //输出为<p id="title" color="red">元素</p>
    var name=str4[0].getAttribute("color");
    console.log(name);
    //第二,为何输出为 null,在样式中不是给他设置了 color:orange 吗?
    str4[0].setAttribute("color","red");
</script>
</body>
</html>

第一,在控制台输出时,有getAttribute获得的属性,为何在文档内容中没有显示

第二,为何输出为 null,在样式中不是给他设置了 color:orange 吗?

正在回答

登陆购买课程后可参与讨论,去登陆

3回答

1、你获取name时,浏览器还没有解析到str4[0].setAttribute("color","red");这条语句,把它放在    console.log(name);前面就可以获取到了!

2、color="red"只是一个属性值为red的属性,并不是样式,如果是样式,如果是行内的话就应该是:

<p id="title" style="color:red">元素</p>

祝学习愉快!

  • 秋渡 提问者 #1
    非常感谢!
    2017-08-02 18:26:16
  • 秋渡 提问者 #2
    获取name时,浏览器还没有解析到str4[0].setAttribute("color","red"); 所以没有获取到 那为什么console.log(str4[0]); 同样没有解析到,输出的结果是已经获取到了呢,输出为<p id="title" color="red">元素</p>
    2017-08-02 18:30:29
好帮手慕糖 2017-08-03 11:47:31

你好,这个跟浏览器的解析机制有关,str4[0].setAttribute("cor","red");的添加改变的原有的html结构,使得最后的html结构为:<p id="title" color="red">元素</p>;正常情况下console.log(str4[0]); 输出的时候是没有color="red"这个属性的,但是这个的str4[0]输出了最后的结构,你可以换火狐、ie浏览器测试下,就可以发现结果是正常的(最好第一次进入之后,刷新下查看)。祝学习愉快!

好帮手慕糖 2017-08-02 18:37:50

你好,脚本从上而下执行,当输出console.log(str4[0]);时,已经获取了呀,脚本的第一行,不就是获取str4了么。由于是类名获取的,获取的是一个数组,所以str4[0]就得到了<p id="title" color="red">元素</p>这个元素呀。祝学习愉快!

  • 提问者 秋渡 #1
    str4[0]得到的应该是<p id="title">元素</p> 这个元素吧。 str4[0].setAttribute("color","red");语句在脚本的最后,为什么输出console.log(str4[0]);时,会把 color="red"也获取了呢?
    2017-08-03 01:14:17
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
前端小白入门系列课程
  • 参与学习           人
  • 提交作业       11218    份
  • 解答问题       36713    个

从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师