在Javascript中获取包含父级的容器内容
Get content of the container including parent in 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 + '>';
我想您正在寻找.outerHTML属性。但由于旧的Firefox
(版本<11.0
)不支持它,您可以使用以下脚本:
var tmpParent = document.createElement('div');
//Appending moves elements from its parents.
//For safety, clone was used instead of original node.
var cloneElem = yourDomElement.cloneNode();
cloneElem.innerHTML = yourDomElement.innerHTML;
tmpParent.appendChild( cloneElem );
//Markup
var elementMarkup = tmpParent.innerHTML;
console.log( elementMarkup );
实时演示
相关文章:
- 在哪里可以学习ECMAScript标准中尚未包含的JavaScript功能
- 从我自己的脚本中包含的Javascript文件中调用一个函数
- 在JavaFX的String中包含本地javascript源
- 在脚本标记中包含一个javascript文件
- 如何在 Angular 2 中包含外部 JavaScript 库
- 如何在没有冲突的情况下将 JQuery 包含在 JavaScript 文件中
- 如果 URL 包含使用 JavaScript 重定向的特定端口
- YepNope/Modernizr 回调,包含全局 JavaScript 变量和 Internet Explorer
- 如何查找不同页面上是否确实需要包含的JavaScript文件
- 灯箱:can't从iframe访问父javascript obj
- 我们如何捕捉主文件中包含的javascript文件引发的错误
- 包含的javascript源代码通过PHP,onmousemove事件,函数未定义
- 在Javascript中获取包含父级的容器内容
- 将jQuery包含到javascript中,并在imacros中使用它
- 设置一个复选框,其中包含使用javaScript检查的特定名称和id
- 删除HTML脚本标记会对它所包含的JavaScript产生任何影响吗
- 如何在PHP中包含动态Javascript页面的静态HTML结果
- 如何在 BIRT 脚本数据源中包含外部 Javascript
- 如何将OpenCV包含在JavaScript项目中
- 如何在 reactjs 中包含外部 JavaScript 库