【问题标题】:jquery load only innerHtml instead of wrapper itselfjquery 仅加载 innerHtml 而不是包装器本身
【发布时间】:2015-10-02 06:37:21
【问题描述】:

让我澄清一下我的需求,从标题中可能并不完全清楚。

我正在使用:

$("#content").load("http://example.com/page1.html #content");

当我查看 firebug 时,我在发生 Ajax 调用的页面上的 #content 中看到了 #content。
所以很明显,我只需要 #content 的内部 html 来加载。使用 Jquery 实现这一目标的最优雅的方法是什么。

谢谢!

【问题讨论】:

    标签: jquery html ajax


    【解决方案1】:

    使用 #content 上的子选择器 (http://api.jquery.com/child-selector/) 选择所有 (*) #content 的子代。

    $("#content").load("http://example.com/page1.html #content > *");
    

    【讨论】:

    • 如果你的回答也包括解释就好了。
    【解决方案2】:

    这可以使用$.get来完成

    $.get('http://example.com/page1.html', function (data) {
        data = $(data).find('#content').html();
        $("#content").empty().append(data);
    });
    

    【讨论】:

    • 非常感谢您的努力。它看起来很有希望,但不知何故我现在得到的只是空的#content????
    • 是的,当然。我已将其更改为link var link=$(this).attr("href"); 例如链接值为http://www.george.destrodesign.com/?page_id=33
    • @daniel.tosaba 如果你登录data,你会得到什么
    • 实际上当我执行alert($(data).find("#content").html()); 我得到null
    • @daniel.tosaba 不是..find("content")..,而是find("#content")
    猜你喜欢
    • 2020-07-28
    • 1970-01-01
    • 2014-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-30
    • 2015-12-21
    • 1970-01-01
    相关资源
    最近更新 更多