【问题标题】:Parsing HTML out of <object> tag with jQuery使用 jQuery 从 <object> 标记中解析 HTML
【发布时间】:2016-05-07 07:43:36
【问题描述】:

我有以下 HTML 标签:

<object type="text/html" data="/page.html"></object>

我需要从正在生成的 HTML 中删除一个元素。我试试这个:

var mainFrame = '<object type="text/html" data="/page.html"></object>'; 
html = $.parseHTML(mainFrame),
console.log(html);

但我只得到一个包含以下内容的对象:

<object data="/page.html" type="text/html"></object>

更新

我期待获得page.html HTML。喜欢:

<html>
    <head></head>
    <body>
        <div id="elementToStripOut"></div>
    </body>
</html>

然后我需要删除 div #elementToStripOut

【问题讨论】:

  • 你期待什么输出?你说你想从 HTML 字符串中去掉一个元素,但字符串只包含一个元素...?
  • 对象 url 是否与页面位于同一域中?如果不是,您可能无法访问它创建的内部窗口
  • 同样,我也有与 Rory McCrossan 相同的问题 - 你期待什么输出?
  • 我期待所包含页面的 HTML。我在同一个域中。
  • @l736k 所以你想得到page.html的HTML,而不是object元素?

标签: jquery html parsing object


【解决方案1】:

我从未对 &lt;object&gt; 做过此操作,但假设原则应该与 &lt;iframe&gt; 相同

$('object').on('load',function(){
    $(this).contents().find('#elementToStripOut').remove();
});

【讨论】:

  • 这会像我以前一样返回Object[object]
  • 该对象正在生成完整的 page.html,例如 &lt;iframe&gt;。您发布的代码仅返回 &lt;object data="/page.html" type="text/html"&gt;&lt;/object&gt;
  • 我无法选择html结构
  • 可以将其替换为 iframe $('object').replaceWith(...
  • 我实际上可以访问 HTML 代码并且我可以修改它,但我不允许这样做。
猜你喜欢
  • 1970-01-01
  • 2020-07-16
  • 2016-10-02
  • 2011-11-15
  • 2021-07-03
  • 1970-01-01
  • 2018-12-03
  • 2011-05-22
  • 2011-07-21
相关资源
最近更新 更多