请这样做哪里有问题

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

哦gqgq_627

2016-10-28 23:47

为什么实现不了button的onclick这个属性

写回答 关注

3回答

  • 老友丶
    2016-10-29 08:47:08
    已采纳

    大概猜你的想法是什么:这是添加了一句window.open();可以实现。

    <!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 haha(x,y)

    {

        var a=document.createElement("a");

        a.setAttribute("href",x);

        window.open("http://www.imooc.com");

        a.innerHTML=y;

        return a;

        }

        var b=document.createElement("input");

        b.setAttribute("type","button");

        b.setAttribute("name","haha");

        b.setAttribute("value","anniu");

        b.setAttribute("onclick","haha('http://www.imooc.com','慕课网')");

    main.appendChild(b);


    </script> 

    </body>

    </html>

     //你这个onclick事件时设置成功了的,不过你点击之后,只是创建了一个连接,然而并没有打开这个链接(不打开链接自然就不会有反应,而且你也没有添加到文档里面,所以看不出什么),我只加了一句window.open,点击按钮之后就会打开网页了。  

    //望采纳

    哦gqgq_...

    非常感谢!

    2016-10-29 19:52:43

    共 1 条回复 >

  • q_Amily
    2016-11-02 19:11:09

    一楼说得很好,不过直接加了一个window.open();这样的话,创建的元素a就没意义了,所以我觉得还是把创建的元素添加到文档里面比较好。

    function haha(x,y)
    {
        var a=document.createElement("a");
        a.setAttribute("href",x);
        a.innerHTML=y;
       main.appendChild(a);
        }

  • 慕勒7123956
    2016-10-29 08:49:45
    你的haha函数里面是新建了一个a元素,并不是给button添加一个链接

JavaScript进阶篇

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

468726 学习 · 22053 问题

查看课程

相似问题