猿问

$('div')生成的不是node对象?

<!DOCTYPE html>

<html>


<head>

    <title>ceshi </title>

    <script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>

    <script type="text/javascript" charset="utf-8">

    $(function() {

        const container = document.getElementById('container')

        const child = $('<div>hello world</div>')

        container.appendChild(child)


    })

    </script>

</head>


<body>

    <div id="container"></div>

</body>


</html>

报错如下:


Uncaught TypeError: Failed to execute 'appendChild' on 'Node': parameter 1 is not of type 'Node'.

jquery生成的不是node对象,那如何从jquery生成的对象中取 node对象呢?


紫衣仙女
浏览 368回答 4
4回答

SMILET

jquery生成的是jquery实例化的对象,你可以这样获得原生的nodevar node = $('xxx').get(0);// 或者var node = $('xxx')[0];如果jquery获取了多个dom元素,那么你可以像刚才一样利用下标去获取原生的节点,即0、1、2、3...不断叠加

九州编程

$('div') // JQuery 对象$('div')[0] // DOM 对象$($('div')[0]) // 又是 JQuery 对象// JQ对象才能使用JQ的方法
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答