将jQuery对象打印为HTML

时间:2009-12-07 11:16:29

标签: jquery

有一种很好的方法可以将jQuery对象打印为纯HTML吗?

例如:

<img src="example.jpg">

<script>
var img = $('img').eq(0);
console.log(img.toString());
</script>

toString()无法正常工作。我需要HTML等效字符串,即:

<img src="example.jpg">

3 个答案:

答案 0 :(得分:23)

  

$('img')[0].outerHTML

将为您提供页面上第一个img的HTML。然后,您需要使用for循环来获取所有图像的HTML,或者在图像上放置ID并仅在jQuery选择器中指定它。

答案 1 :(得分:15)

您可以将其包装然后使用html:

var img = $('img').eq(0);
console.log(img.wrap("<span></span>").parent().html());

答案 2 :(得分:6)

如果您需要以HTML格式打印对象,请使用此扩展程序outerHTML或此outerHTML

<强>更新

更新链接并包含第二个链接的代码:

$.fn.outerHTML = function(){

    // IE, Chrome & Safari will comply with the non-standard outerHTML, all others (FF) will have a fall-back for cloning
    return (!this.length) ? this : (this[0].outerHTML || (
      function(el){
          var div = document.createElement('div');
          div.appendChild(el.cloneNode(true));
          var contents = div.innerHTML;
          div = null;
          return contents;
    })(this[0]));

}