如何在javascript中获取元素的完整开始标签(不仅仅是tagName)

How to get an element's full start tag in javascript (not only tagName)?

本文关键字:标签 开始 不仅仅是 tagName javascript 元素 获取      更新时间:2023-09-26

有没有简单的方法可以在javascript中将元素的起始标记作为字符串获取?假设我有一个 DOM 节点,它是变量中的 html 元素,我想写类似的东西:

var tagName = element.tagName; //Works
var startingTag = element.startingTag; // Is there any way?
var startingTag = getStartingTag(element);  // Or do I have to write my own function?

感谢答案

例如,这是我想进入字符串的起始标签:

 <Table class="anyClass" width="100" ... >

其中标签名称只给出这个:"表"

好吧,你可以这样做:

var elStr    = element.outerHTML
   ,startTag = elStr.substr(0,elStr.indexOf('>')+1);

或者,如果您需要有关属性的信息,请使用element.attributes

您可以遍历属性并将它们附加到某个字符串中。

function getStartingTag(elem)
    var str = '',
        attr = elem.attributes,
        value;
    // Beginning of tag. toLowerCase() for a cleaner string.
    str += '<' + elem.nodeName.toLowerCase() + ' ';
    for (var i = 0, l = attr.length; i < l; i++) {
        // Safety check.
        value = attr[i].nodeValue.replace('"', '''"');
        // Append the name + value of the attribute.
        str += attr[i].nodeName + '="' + attr[i].nodeValue + '" ';
    }
    str += '>';
    return str;
}