我想通过父元素本身获取元素的 innerHTML。因为我使用的是 element.innerHTML,所以它返回元素内部的值,而不是父元素。那么在 JavaScript 中有什么方法可以做到这一点吗?
注意:请注意,我不想为此使用任何 jQuery。
最佳答案
尝试 - http://jsfiddle.net/PF68B/
var content = document.getElementById("elem").parentNode.innerHTML;
如果您想要带有父标签的内容 - http://jsfiddle.net/PF68B/1/
var content = document.getElementById("elem").parentNode.innerHTML;
var parentTag = document.getElementById("elem").parentNode.tagName.toLowerCase();
...
更新
如果您需要具有所有属性的父节点 - http://jsfiddle.net/PF68B/4/
var content = document.getElementById("elem").parentNode.innerHTML;
var parentTag = document.getElementById("elem").parentNode.tagName.toLowerCase();
var el = document.getElementById("elem").parentNode;
var nodes=[], values=[];
for (var attr, i=0, attrs=el.attributes, l=attrs.length; i<l; i++){
attr = attrs.item(i)
nodes.push(attr.nodeName);
values.push(attr.nodeValue);
}
var parentAttr = '<' + parentTag;
for ( var i = 0; i < nodes.length; i++ ) {
parentAttr += ' ' + nodes[i] + '="' + values[i] + '"';
}
parentAttr += '>' + content + '</' + parentTag + '>';
关于javascript - 在 Javascript 中获取容器的内容,包括父级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11599742/