猿问

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

偶然的你
浏览 1320回答 1
1回答

慕村225694

f12看下你的代码应该是onclick=downloadUploadFile(id_333),你是把变量id_333传进去了,应该加个引号
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答