我可以使用Jquery获取元素的HTML源代码吗?

时间:2013-11-05 11:55:44

标签: javascript jquery html dom

相反是一个奇怪的请求,我敢肯定,但是如果有一个Jquery选择器,我可以得到一个项目(及其子项)的原始HTML,以便我可以,例如,重新放置该HTML的转义版本页面?

我很高兴进行转义,我只是不知道如何从对象中返回HTML。

如果有一种简单的DOM标准方式,我也很高兴。


编辑以解决“哦,为什么你不只是谷歌那样”:Google吧。您将获得Jquery的.html(),它将为您提供对象的内部HTML。例如,我们说你有:

<div id="pants">naughty bits</div>

.html()只会返回naughty bits。而我正在寻找的输出是<div id="pants">naughty bits</div>

4 个答案:

答案 0 :(得分:11)

如果您有ID,那么您可以这样做......

<强>的jQuery

$("#ID")[0].outerHTML;

纯Javascript

document.getElementById("ID").outerHTML;

使用.html()只会获取内部html,而不包含您按ID指定的元素。

<强>更新

现在还有一个jQuery方法来获取元素的外部HTML ...

$("#ID").outerHTML();

答案 1 :(得分:1)

是的,jquery的html()方法将所有标签作为字符串返回html数据: 例如:

Html来源

<div id="DivId">
    <p> This is html concept </p>
    <br/>
    <p> This is jquery concept. </p>
</div>

Jquery代码

var htmlString=$("#DivId").html();

返回结果为: htmlString:

    <p> This is html concept </p>
    <br/>
    <p> This is jquery concept. </p>

答案 2 :(得分:0)

是的,可以使用html()

var source=$('#ID').html()

答案 3 :(得分:0)

  

给定一个Jquery选择器,我可以得到一个项目的原始HTML(及其子项)

使用.html()方法获取值:

var htmlOutput = $('#myselector').html();
  

...例如,我可以将该HTML的转义版本放回页面上吗?

使用.text()方法将字符串设置为纯文本:

$('#anotherselector').text(htmlOutput);

(即jQuery将为你完全逃脱它;你不需要手动完成它)