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

这样写为什么右边没有效果显示??求解

<!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 a = document.createElement("a");

    a.setAttribute("href","url");

    a.setAttribute("innerHTML","text");

    a.setAttribute("color","red");

    main.appendChild(a);

}

// 调用函数创建链接

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


</script> 

</body>

</html>


提问者:_Yinger 2019-11-05 10:24

个回答

  • 阳火锅
    2019-11-05 11:32:20
    已采纳

    问题出在了你的http://img4.mukewang.com/5dc0ec450001ab8502780044.jpg这里。。

    setAttribute这个函数是设置标签属性的,你觉得innerHTML这个是属于标签属性吗?

    innerHTML这个是用来设置标签内部文本的...它并不属于标签的一种属性..  a标签的属性有哪些,这个你可以百度去查一下,我目前只例举:href,title...

    所以你这个代码应该这样写http://img3.mukewang.com/5dc0ed3d000110eb03400138.jpg

  • 旺仔窝窝头
    2019-11-20 20:54:02

    1、首先setAttribute()用于设置/更改标签体内的属性,a.setAttribute("innerHTML","text")相当于:<a innerHTML="text"></a>;所以无法显示;

    2、a.innerHTML=text;操纵的是HTML文档对象的属性,即对象a要显示的内容是什么,它相当于:<a href="...">text文本</a>;

    3、也可以用a.appendChild(document.createTextNode(text));为a元素添加文本节点,这样也能显示。