1

这是在 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,然后将它的不同部分复制到网页中的不同位置。

4

1 回答 1

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'));
于 2012-09-25T09:18:02.507 回答