2013-07-23 156 views
2

我想带class =“SomeDiv”移动DIV成/ ID为一个div里面=“ParentDiv”通过其类移动一个div另一个DIV中与ID

如果我编辑的javascript移动与身份证div到另一个div与diff ID的作品。但移动一个具有ID的类div到div是行不通的。我错过了什么吗?

HTML

<div id="ParentDiv"> 
    <div id="ChildDiv"> 
     <ul> 
      <li>1</li> 
      <li>2</li> 
     </ul> 
    </div> 
    <!-- move SomeDiv here --> 
</div> 
<div class="SomeDiv">some content</div> 

JS:

document.getElementById('ParentDiv').appendChild(document.getElementsByClassName('SomeDiv')); 

http://jsfiddle.net/9gvsa/1/

+0

何必包括jQuery如果你不打算使用它? – nullability

+0

jQuery在哪里? – putvande

回答

2

使用jQuery使得它更容易,看看你的jsfiddle的更新版本,你可以看到该项目已被移动,检查DOM树

$(document).ready(function(){ 
$("#ParentDiv").append($(".SomeDiv")); 
}); 

example

5

.getElementsByClassName返回数组,所以你需要在年底这样一个指标:

document.getElementById('ParentDiv').appendChild(document.getElementsByClassName('SomeDiv')[0]); 
+0

,在JSFidddle中运行良好!,无法在jSFiddle中运行良好的 – KevinOrin

+0

!尽管在实际网站上根本不起作用:http://bit.ly/13GerYd - 我试图从ID rev_slider_1_1内的滑块中获取THUMBNAILS – KevinOrin

1

使用document.getElementsByClassName('SomeDiv')[0]代替,
getElementsByClassName返回元件的阵列而getElementsById返回单个元件

0

来源:document.getElementsByClassName

getElementsByClassName返回找到元素的HTMLCollection。

如果你知道你的div有一个独特的类,你可以做

document.getElementById('ParentDiv').appendChild(document.getElementsByClassName('SomeDiv')[0]); 
0

你不能得到这样一个类的元素。 document.getElementsByClassName返回一个数组。你将不得不做这样的事情......

document.getElementsByClassName('SomeDiv')[0] 

而且,如果你希望把他们的className的所有div在div,做一些迭代。

for (i=0;i<=document.getElementsByClassName('SomeDiv').length;i++) { 
    document.getElementById('ParentDiv').appendChild(document.getElementsByClassName('SomeDiv')[i]); 
} 
相关问题