我有一个带有HTML的div,我正试图在一个空div中。新div应该从原始内容中获取所有内容和样式。
现有内容:
<ul id="existing_id" class="my_class">
<strong>Does not show up in new div</strong>
<li class="style">
<p class="style">Shows up in new div</p>
</li>
</ul>
新的空div - 我从#34; existing_id&#34;成:
<div id="empty_div"></div>
我通过JS定位元素:
var existing = document.getElementById("exisiting_id")
var existing_li = existing.getElementsByTagName("li")
var empty_div = document.getElementById("empty_div")
var myArray = []
empty_div.innerHTML = ""
// Pushing each existing li element inside myArray
for (var i=0; i < existing_li.length; i++) { myArray.push(existing_li[n]; }
function make_it_happen() {
empty_div.innerHTML += myArray.innerHTML
}
我从新的div中获取#existing_id
内容 - 但不是与每个元素相关联的样式。某些元素也会被忽略,例如<strong>Does not show up in new div</div>
答案 0 :(得分:2)
如果您想要将所有LI元素中的所有HTML收集到empty_div中,那么您不需要myArray。以下应该做:
var existing = document.getElementById("existing_id")
var existing_li = existing.getElementsByTagName("li")
var empty_div = document.getElementById("empty_div")
function make_it_happen() {
var html = '';
for (var i = 0; i < existing_li.length; i++) {
html += existing_li[i].innerHTML;
}
empty_div.innerHTML = html;
}