javascript - js创建元素绑定的onclick事件为何传入的参数是对象??

查看:93
本文介绍了javascript - js创建元素绑定的onclick事件为何传入的参数是对象??的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

<html>
    <script src="http://lib.sinaapp.com/js/jquery/1.9.1/jquery-1.9.1.min.js"></script>
    <body>
        <p id="ppp" style="background-color:yellow">asasasa</p>
    </body>
    <script>
        function downloadUploadFile(fileid) {
            console.log(fileid);      // <p id="123">...</p> 此处为何传进来是dom对象??
            console.log(typeof fileid);// object??
        }
        function createNode(fileId, fileName) {
            return $("<p id='id_" + fileId + "'>&nbsp;&nbsp;<a href='javascript:void(0)' onclick=downloadUploadFile(id_" + fileId + ");>下个载&nbsp;&nbsp;" + fileName + "</p>");
        }
        var node = createNode('123', '槽边往事');
        console.log(node);        //[p#id_123]
        $("#ppp").append(node);
    </script>
</html>

如上代码,用js创建提供下载功能的节点,并绑定download事件,可是为何穿进去的参数是对象?而不是id_123

解决方案

f12看下你的代码应该是onclick=downloadUploadFile(id_333),你是把变量id_333传进去了,应该加个引号

这篇关于javascript - js创建元素绑定的onclick事件为何传入的参数是对象??的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆