javascript - 在 Javascript 中获取容器的内容,包括父级

标签 javascript

我想通过父元素本身获取元素的 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/

相关文章:

javascript - CKEditor - 在一个页面中限制多个编辑器的字符

javascript - 发布到查找字段

javascript - d3.js 更新模式未按预期工作

javascript - React-select 用户选择后如何清除选项

javascript - 如何在 JavaScript 中使用 RegExp 提取字符串?

javascript - 可以在 jquery 中单击警报框按钮时编写页面刷新代码吗?

javascript - 为什么点击时 Canvas 框的移动会增加?

javascript - HTML:如何强制中断长文本

javascript - 如何从 chrome.storage 检索该值?

javascript - 如何在Vuejs中使用数组在父组件和子组件之间应用监视