【问题标题】:Jquery .html() how to get all html [duplicate]Jquery .html()如何获取所有html [重复]
【发布时间】:2013-09-05 13:18:50
【问题描述】:

我使用这个 JQuery 来创建一些元素:

var form = $(document.createElement("form"));
form.prop({"action":"/DoSomething", "method": "POST"});
var input = $(document.createElement("input"));
input.prop({"type": "image", "src": "someUrl.png"});
form.append(input);

我现在想获取由所有这些生成的整个 html 字符串:

<form action="/DoSomething" method="POST"><input type="image" src="someUrl.Png" /></form> 

这样我就可以通过其他一些 Javascript 函数来传递它!

但是,form.html() 显然只显示了这一点:

<input type="image" src="someUrl.Png" />

那么如何获取所有的 html?

编辑

是的,我可以看到这是重复的,当我第一次写它时,我不知道我想要实现什么,或者至少不知道我想要实现的名称。

【问题讨论】:

  • 使用$(document).html()

标签: javascript jquery html


【解决方案1】:

你可以使用:

form.wrap('&lt;div /&gt;').parent().html()

在所有浏览器上工作或

form[0].outerHTML

如果你真的不关心旧的 Firefox 版本 (

【讨论】:

    【解决方案2】:

    一种解决方案:

    创建一个临时元素,然后clone()append()

    $('<div>').append($('#xxx').clone()).html();
    

    查看更多答案here: https://stackoverflow.com/questions/5744207/jquery-outer-html

    【讨论】:

      【解决方案3】:

      看看这个

      form[0]
      

      你需要它自己未包装的元素,所以只需使用索引 0

      【讨论】:

      • 返回元素,而不是它的 HTML 字符串。
      【解决方案4】:
      var outer_html = $('selector').clone().wrap('<p>').parent().html();
      

      【讨论】:

        【解决方案5】:

        您可以简单地使用 DOM 元素,而不是 jQuery 对象,并获取 outerHTML...

        在你的代码中它会是......

        form[0].outerHTML;
        

        http://jsfiddle.net/6ugyS/1/

        【讨论】:

          【解决方案6】:

          只需使用表单的包含元素

          form.parent().html()
          

          【讨论】:

          • 请注意您的回答可能会在 html 中添加其他项目。
          猜你喜欢
          • 1970-01-01
          • 2020-10-24
          • 1970-01-01
          • 2017-05-31
          • 2011-04-06
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多