使用setAttribute和直接创建属性效果不同???

来源:9-16 创建元素节点createElement

Wo_o明

2016-01-27 15:37

<!DOCTYPE HTML>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>无标题文档</title>

</head>

<body>

<script type="text/javascript">

var main = document.body;

//创建链接

function createa(url,text)

{

    var li=document.createElement("a");

    /*li.setAttribute("href","url");

    li.setAttribute("innerHTML","text");*/

    //为什么使用注释掉的内容就不能运行呢?注释掉的内容哪里有错误呢?

    li.href=url;

    li.innerHTML=text;

    li.style.color="red";

    main.appendChild(li);

}

// 调用函数创建链接

createa("http://www.imooc.com/","慕课网");


</script> 

</body>

</html>


写回答 关注

4回答

  • RoughColorText
    2017-08-14 22:45:22

    obj.setAttribute("attr","value")是DOM1级,而直接obj.attr=value是DOM0级。对于DOM(元素节点)对象使用setAttribute是W3C标准,兼容性更好.

  • _一六01
    2016-03-20 16:38:40

    li.innerHTML是li元素的html内容,并不是他的属性,所以要报错。

  • 考拉丶
    2016-02-02 11:25:15

    http://www.imooc.com/qadetail/57746看看这个问题吧,还有就是你用了注释的内容就不需要下面这两行代码了

     li.href=url;

        li.innerHTML=text;


  • Wo_o明
    2016-01-27 15:38:48

    使用setAttribute出不来效果,改用直接增加属性的方法就可以用,是我在写setAttribute方法时,哪里写错了吗?

JavaScript进阶篇

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

468060 学习 · 21891 问题

查看课程

相似问题