有没有简单的方法可以将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仅给出:“表”
答案 0 :(得分:1)
嗯,你可以这样做:
var elStr = element.outerHTML
,startTag = elStr.substr(0,elStr.indexOf('>')+1);
如果您需要有关属性的信息,请使用element.attributes
答案 1 :(得分: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;
}