0

有没有简单的方法可以在 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" ... >

其中 tagName 只给出:“Table”

4

2 回答 2

1

好吧,你可以这样做:

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

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

于 2013-01-25T08:08:16.430 回答
1

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

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;
}
于 2013-01-25T08:18:18.403 回答