这是Firebug中的测试运行。我正在尝试动态创建一个jQuery对象,然后使用类或id选择器查找它的一部分。注意find()调用如何给出空结果。
>>> var testhtml = '<div class="oggi">h</div>'
undefined
>>> $(testhtml)
[div.oggi]
>>> $(testhtml).find(".oggi")
[]
>>> var testhtml2 = '<div id="yggi">hjhj</div>'
undefined
>>> $(testhtml2)
[div#yggi]
>>> $(testhtml2).find("#yggi")
[]
我是否应该解释这一点,因为您无法对未连接到浏览器中主DOM树的html执行某些jQuery操作?还有其他一些技巧可以用来做这项工作吗?
我设法通过在html中创建一个临时div,在那里加载数据然后执行find()来获得更好的效果。
我的实际任务是使用ajax加载一段html,然后将其不同部分复制到网页中的不同位置。
答案 0 :(得分:2)
.find()
用于查找孩子,请改用.filter()
。
var testhtml = '<div class="oggi">h</div>';
// if you want to check it whether has a class, use
console.log($(testhtml).is(".oggi"));
// or you could use filter to get the element you want.
console.log($(testhtml).filter('.oggi'));