javascript - 在 div 中查找子元素并使用 javascript 将它们附加到另一个子元素

标签 javascript html

我希望将元素附加到另一个元素 - 它们必须 可以在具有 id="parent" 的 div 类中找到。 代码必须仅使用干净的 JavaScript。问题是,为什么我不能只使用附加 - 子级仅附加 1 个元素(第一个 block ),因此需要一个循环来将每个元素(2)附加到(1)元素。

<!-- FirstBlock -->
<div id="parent">

    <div id="firstElement">
    </div>
    <div id="secondElement">
    </div>

</div>

我希望它看起来像这样

<!-- FirstBlock -->
<div id="parent">
    <div id="firstElement">
        <div id="secondElement">
        </div>
    </div>
</div>

这是我尝试过的代码: 函数 getElement() { var firstElement = document.getElementById('firstElement'); var secondaryElement = document.getElementById('secondElement'); varparent = document.getgetElementById('parent').children;

         for(var i = 0; i < parent.length; i++){
            for(firstElement in parent[i]){
                if(!(secondElement in firstElement){
                    firstElement.appendChild(secondElement);
                });
            };
         };

Fiddle

最佳答案

ID's同样,您需要使用 class属性或更改 ID对于每个元素。以下是如何实现结果的示例(视觉示例使用 CSS)。

function getElement() {
	var parents = document.getElementsByClassName('parent'),
        parentsLength = parents.length;

	while (parentsLength--){
		var firstElements = parents[parentsLength].getElementsByClassName('firstElement'),
            firstElementsLength = firstElements.length,
			secondElements = parents[parentsLength].getElementsByClassName('secondElement');
        
        while(firstElementsLength--) {
            var secondElementsLength = secondElements.length;
            while(secondElementsLength--) {
	firstElements[firstElementsLength].appendChild(secondElements[secondElementsLength]);
            }
        }
	};
}

getElement();
.firstElement {
    height: 50px;
    border: 1px solid #000;
}

.secondElement {
    background-color: #aaa;
}
<!-- FirstBlock -->
<div class="parent">
    
    <div class="firstElement">
        dddd
    </div>
    <div class="secondElement">
        aaa
    </div>
  
</div>
<!-- SecondBlock -->
<div class="parent">
    
    <div class="firstElement">
        firstElement
    </div>
    <div class="secondElement">
        secondElement
    </div>
    
</div>
<!-- ThirdBlock -->     
<div class="parent">
    
    <div class="firstElement">
        firstElement
    </div>
    <div class="secondElement">
        secondElement
    </div>
    
</div>
    
    I want it look like this
<!-- FirstBlock -->
<div class="parent">
    <div class="firstElement">
        firstElement
        <div class="secondElement">
            secondElement
        </div>
    </div>
</div>
<!-- SecondBlock -->
<div class="parent">
    <div class="firstElement">
        firstElement
        <div class="secondElement">
            secondElement
        </div>
    </div>
</div>
<!-- ThirdBlock -->     
<div>
    <div class="parent">
    <div class="firstElement">
        firstElement
        <div class="secondElement">
            secondElement
        </div>
    </div>
</div>    

JavaScript 的快速概述.. 我们使用 parent 获取每个元素类并将变量设置为该对象的长度。 while循环正在遍历每个 div 并获取其中包含 firstElement 的 div。和secondElement类。 然后更多的循环获取类 secondElement 的每个元素。并将它们插入到类 firstElement 的元素中.

最后,对于每个父 div,任何具有 secondElement 类的 div将被插入到类别为 firstElement每个 div 中在该父 div 内部。

Here is the fiddle我去进行修改。希望这有帮助!

关于javascript - 在 div 中查找子元素并使用 javascript 将它们附加到另一个子元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33894418/

相关文章:

javascript - 在 package.json 中包含依赖项时遇到问题

javascript - 对于模型的路径 ""处的值 "_id"转换为 ObjectId 失败

javascript - 单击div外部无法关闭iphone中的切换栏菜单

html - 动态网页滑动好的脚本实践?

javascript - 如何禁止选择div中的某些文本?

javascript - 将表单数据提交到php文件,但在不同页面上查看相同的结果

javascript - 导航栏上的 Z-index 问题

javascript - 如何使用javascript在文件上传中获取不带扩展名的文件名

html - 角色 ="presentation"或 aria-hidden ="true"用于装饰图像?

android - 我在控制 Android 浏览器缩放时遇到问题