如何在JavaScript中打印整个HTML元素?

如何在JavaScript中打印整个HTML元素?,javascript,Javascript,我想打印整个元素,包括标记名、属性名/值对和innerHTML。如何在JavaScript(jQuery)中实现这一点 例如: var elArr = document.getElementsByTagName('link'); alert(elArr[0].printEntireElement()); //expected output might be <link href="/css/common.css" rel="stylesheet" type="text/css">

我想打印整个元素,包括标记名、属性名/值对和innerHTML。如何在JavaScript(jQuery)中实现这一点

例如:

var elArr = document.getElementsByTagName('link');
alert(elArr[0].printEntireElement());

//expected output might be 
<link href="/css/common.css" rel="stylesheet" type="text/css">`
var-elArr=document.getElementsByTagName('link');
警报(elArr[0].PrintEntirement());
//预期输出可能是
`

请注意,对于链接元素outerHTML未定义

使用outerHTML jQuery插件,如或。

您可以执行以下操作:

function dump(element) {
  var a = ["Element dump:"];
  for (var k in element) {
    if (element.hasOwnProperty(k)) {
      a.push(k + ": " + element[k]);
    }
  }
  a.push("HTML: " + element.innerHTML);
  alert(a.join('\n'));
}
var el = $('<div id="my_div">test div 123</div>');

alert(el[0].outerHTML);

我不知道您是否需要“hasOwnProperty”测试。

如果您不能执行outerHtml,请克隆它,创建一个新的div,将克隆放在div中,然后获取容器的innerHTML

如果要从jQuery元素打印整个标记,可以执行以下操作:

function dump(element) {
  var a = ["Element dump:"];
  for (var k in element) {
    if (element.hasOwnProperty(k)) {
      a.push(k + ": " + element[k]);
    }
  }
  a.push("HTML: " + element.innerHTML);
  alert(a.join('\n'));
}
document.getHTML= function(who){
    var txt, ax, el= document.createElement("div");
    el.appendChild(who.cloneNode(false));
    txt= el.innerHTML;      
    ax= txt.indexOf('>')+1;
    txt= txt.substring(0, ax)+who.innerHTML+ txt.substring(ax);
    el= null;
    return txt.replace(/>/g,'>\n');
}
var el = $('<div id="my_div">test div 123</div>');

alert(el[0].outerHTML);
var el=$('testdiv123');
警报(el[0].outerHTML);
请参见在jquery中创建div的步骤。:)妈的,我做了()但看起来效率太低了。。。但我还是想不出更好的了?