在osc上看到一个提问,说是:
console.log($('
aaaa
').find('p').length);
输出 1
console.log($('aaaa
').find('p').length);
输出 0
一个解释是:
==========================
$('
')
是在 body 中插入了
aaaa
这段DOM
因为插入成功了,find('p') 是在 div 节点往内层搜 p 标记,所以能查找到 1 个
$('
aaaa
')
这个是没法插入的,HTML中只能有一个 body
由于创建不成功,返回的 jQuery 对象是空的,在没 find('p') 前,已经是长度 0 了,你再 find 什么都查找不到
============================
根据我实验,2个语句都能插入到dom中,第一个插入后返回的是div,第二个插入后返回的是p,所以在div中找p,是找到的,在p中找p是找不到的,也就是分别输出1和0。
实验语句:
console.log($('
')[0].nodeName);
console.log($('
aaaa
')[0].nodeName);
==over==
阅读(865) | 评论(2) | 转发(0) |