這樣寫為什么右邊沒有效果顯示??求解
<!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.xianlaiwan.cn","慕課網");
</script>?
</body>
</html>
2019-11-05
問題出在了你的
這里。。
setAttribute這個函數是設置標簽屬性的,你覺得innerHTML這個是屬于標簽屬性嗎?
innerHTML這個是用來設置標簽內部文本的...它并不屬于標簽的一種屬性..? a標簽的屬性有哪些,這個你可以百度去查一下,我目前只例舉:href,title...
所以你這個代碼應該這樣寫
2019-11-20
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元素添加文本節點,這樣也能顯示。