【问题标题】:jQuery: Extracting parts of dynamically loaded htmljQuery:提取动态加载的 html 的一部分
【发布时间】:2012-09-25 17:42:56
【问题描述】:

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

【问题讨论】:

    标签: javascript jquery ajax


    【解决方案1】:

    .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'));
    

    【讨论】:

    • 天啊!现场 - 谢谢。我还需要五分钟才能点击接受。 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多