从没有内部文本内容的元素中获取 html 标签

Nev*_*ore 5 html javascript outerhtml

使用Javascript,我希望获取 DOM 元素并仅获取它的tagclassid等(括号中的内容),但忽略其中的实际文本内容innerHTML有点像/的反义词textContent

所以我希望得到这样的 div:

<p id="foo">Ipsum Lorem</p>

到一个字符串中:

<p id="foo"> </p>

Dan*_*zik 3

.cloneNode如果您不想使用它,请使用or :

获取节点名并将元素属性缩减为字符串。

'use strict';

const elem = document.getElementById('foobar');
const nodeName = elem.nodeName.toLowerCase();
const attrs = [...el.attributes].map((a) => {
  if (a.value === '')
    return a.name;
  else if (a.value.indexOf('"') > -1)
    return `${a.name}='${a.value}'`;
  else
    return `${a.name}="${a.value}"`;
}).join(' ');
const str = `<${nodeName} ${attrs}></${nodeName}>`;
Run Code Online (Sandbox Code Playgroud)

https://jsfiddle.net/k22tyqbr/3/