Javascript 获取外部元素的html
我有如下的要点Javascript 获取外部元素的html,javascript,html,dom,Javascript,Html,Dom,我有如下的要点 <div id="features" class="feature" data-id="1"> <a href="http://www.google.com></a> <img src="/sample.jpg"> <p> Sample content </p> </div> <div id="features" class="feature" data-id="
<div id="features" class="feature" data-id="1">
<a href="http://www.google.com></a>
<img src="/sample.jpg">
<p> Sample content </p>
</div>
<div id="features" class="feature" data-id="1"></div>
样本含量
我希望得到div的外部html,而不包含内部子项,如下所示
<div id="features" class="feature" data-id="1">
<a href="http://www.google.com></a>
<img src="/sample.jpg">
<p> Sample content </p>
</div>
<div id="features" class="feature" data-id="1"></div>
没有jquery我怎么做?可能是更好的方法。。但你可以这么做
var node = features.cloneNode(); // clone your element
node.innerHTML = ''; // empty the cloned version
console.log(node.outerHTML); // ouput
可能是更好的方式。。但你可以这么做
var node = features.cloneNode(); // clone your element
node.innerHTML = ''; // empty the cloned version
console.log(node.outerHTML); // ouput
不影响页面的最简单方法(即实际删除所有子项)是:
var featuresEl = document.getElementById('features');
var clonedEl = featuresEl.cloneNode(false); //False to not clone children
console.log(clonedEl.outerHTML); //Returns what you wanted, without inners
不影响页面的最简单方法(即实际删除所有子项)是:
var featuresEl = document.getElementById('features');
var clonedEl = featuresEl.cloneNode(false); //False to not clone children
console.log(clonedEl.outerHTML); //Returns what you wanted, without inners
要仅获取元素而不获取任何子元素,请尝试获取整个html并删除所有子元素:
$('#features')[0].outerHTML.replace( $('#features')[0].innerHTML,'')
bye要仅获取元素而不获取任何子元素,请尝试获取整个html并删除所有子元素:
$('#features')[0].outerHTML.replace( $('#features')[0].innerHTML,'')
拜拜您可以使用:-
document.getElementById(id).cloneNode(false).outerHTML
您可以使用:-document.getElementById(id).cloneNode(false).outerHTML
是否在所有浏览器中都受支持?它一直支持到IE4.0。(是的,所有浏览器)好的。为什么我们需要在outerHTML之前进行克隆?因为如果不进行克隆,并且从实际节点中清除子节点,那么实际元素将从实际页面中删除。您可以在演示中看到,您得到了HTML,但元素也消失了。除非你一次完成10000多个,否则我怀疑你会感觉到什么。所有浏览器都支持outerHTML
吗?它一直支持到IE4.0。(是的,所有浏览器)好的。为什么我们需要在outerHTML之前进行克隆?因为如果不进行克隆,并且从实际节点中清除子节点,那么实际元素将从实际页面中删除。您可以在演示中看到,您得到了HTML,但元素也消失了。除非你一次做超过10000个,否则我怀疑你会感觉到什么。