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

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

_Yinger

2019-11-05 10:24

<!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>


写回答 关注

2回答

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

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

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

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

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

    番茄boy

    我觉得吧,它还是算属性的,只不过不能通过方法的方式来写,如果通过方法就会造成楼下“旺仔..”说的那样情况,问题还是出在这个方法只针对能插入标签< >内部的属性

    2020-11-13 10:10:49

    共 2 条回复 >

  • 旺仔窝窝头
    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元素添加文本节点,这样也能显示。

    旺仔窝窝头 回复_Yinge...

    不客气~

    2019-11-22 08:25:36

    共 2 条回复 >

JavaScript进阶篇

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

468190 学习 · 21891 问题

查看课程

相似问题