_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>
问题出在了你的这里。。
setAttribute这个函数是设置标签属性的,你觉得innerHTML这个是属于标签属性吗?
innerHTML这个是用来设置标签内部文本的...它并不属于标签的一种属性.. a标签的属性有哪些,这个你可以百度去查一下,我目前只例举:href,title...
所以你这个代码应该这样写
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元素添加文本节点,这样也能显示。
JavaScript进阶篇
468190 学习 · 21891 问题
相似问题