为了账号安全,请及时绑定邮箱和手机立即绑定

课件中给创建的元素节点用了nodename.属性=“值”和node.setAttribute("属性","值")。在第二案例代码里,对于type、name、value二者可通用不影响结果。但对于onclick却不能这样btn.onclick="javascript:alert('This is a text!')"

是因为onclick不属于属性?

正在回答

2 回答

<!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.innerHTML=text;
    a.href=url
    a.style.color="red";
  main.appendChild(a);
    // window.open("http://www.imooc.com","_blank") 
}
// 调用函数创建链接
    var btn = document.createElement("input");
    btn.type="button";
    btn.value="显示慕课网链接";
   // var url="http://www.imooc.com";
    //text="慕课网";
    //btn.onclick=createa(url,text); 
    btn.onclick=createa('http://www.imooc.com','慕课网'); 
    //  btn.setAttribute("onclick", "createa('http://www.imooc.com','慕课网')");
    btn.style.backgroundColor="red";
    main.appendChild(btn); 

</script> 
</body>
</html>


0 回复 有任何疑惑可以回复我~
#1

犀利一下下

注释掉的部分是我自己试验做的,可以不用管,就看最后 btn.onclick=createa('http://www.imooc.com','慕课网'); // btn.setAttribute("onclick", "createa('http://www.imooc.com','慕课网')");这两行的区别就好了
2015-08-09 回复 有任何疑惑可以回复我~

如果你要在JS代码中设置onclick的话,应该是

btn.onclick = function(){}这样去写,因为onclick是事件,事件对应的应该是函数,所以赋值的时候应该是函数而不是字符串

2 回复 有任何疑惑可以回复我~
#1

犀利一下下

你好,请问下为什么设置btn.onclick=createa('http://www.imooc.com','慕课网'); 之后,“慕课网”三个字会直接在网页中显示出来?而不是点击了按钮之后才显示? 用 btn.setAttribute("onclick", "createa('http://www.imooc.com','慕课网')");的方法则可以实现,点击之后才在网页中生成个“慕课网”链接。我在下面的评论里粘了代码,帮忙看看,谢谢啦
2015-08-09 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

课件中给创建的元素节点用了nodename.属性=“值”和node.setAttribute("属性","值")。在第二案例代码里,对于type、name、value二者可通用不影响结果。但对于onclick却不能这样btn.onclick="javascript:alert('This is a text!')"

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信