javascript - 获取 Div 中子元素的值并将其放入列表或新 div 中

标签 javascript html

我试图在满足条件时获取 div 的所有子元素的值,然后将它们放入新 Div 中的列表中。

父子元素的结构如下:

 <div id="measurements">
    <h3> FACIAL BIO</h3>
    <ul>
                      <div class="wrapperBar">
        <h4> Distance between Eyes: </h4>
        <div class="valueBar" id="distanceBetweenEyes"> </div>
      </div>
                      <div class="wrapperBar">
        <h4> Distance between Ears: </h4>
        <div class="valueBar"  id="distanceBetweenEars"> </div>
      </div>
                      <div class="wrapperBar">
        <h4> Nose Width: </h4>
        <div class="valueBar"  id="noseWidth"> </div>
      </div>
                      <div class="wrapperBar">
        <h4> Nose Length: </h4>
        <div class="valueBar"  id="noseLength"> </div>
      </div>
                      <div class="wrapperBar">
        <h4> Mouth Width: </h4>
        <div  class="valueBar" id="mouthWidth"> </div>
      </div>
                      <div class="wrapperBar">
        <h4> Distance between Chin and Mouth: </h4>
        <div  class="valueBar" id="chinToMouth"> </div>
      </div>
                      <div class="wrapperBar">
        <h4> Eye Width: </h4>
        <div class="valueBar"  id="eyeWidth"> </div>
      </div>
                      <div class="wrapperBar">
        <h4> Distance between Nose and Mouth: </h4>
        <div class="valueBar"  id="noseToMouth"> </div>
      </div>
                      <div class="wrapperBar">
        <h4> Mouth Height: </h4>
        <div class="valueBar"  id="topLipToBottomLip"> </div>
      </div>
                      <div class="wrapperBar">
        <h4> Nostril Width: </h4>
        <div class="valueBar"  id="nostrilWidth"> </div>
      </div>
                      <div class="wrapperBar">
        <h4> Eyebrow Length: </h4>
        <div  class="valueBar" id="eyebrowLength"> </div>
      </div>
                      <div class="wrapperBar">
        <h4> Distance Between Eyebrows: </h4>
        <div  class="valueBar" id="distanceBetweenEyebrows"> </div>
      </div>
                      <div class="wrapperBar">
        <h4> Emotion: </h4>
        <div class="valueBar"  id="emotion"> </div>
      </div>

我想要的是每个作为 h4 元素的标题及其下面的相应元素放入一个新的 div 中,只要满足条件,我就会创建该新 div。

示例:

<div id="wrapper">

<ul>
<li> Distance Between Eyes: VALUE_HERE </li> 
<li> Distance Between Ears: VALUE_HERE </li> 
<li> Nose Width: VALUE_HERE </li> 
</ul>
</div>

最佳答案

你使用 jQuery 吗?如果是这样:

$('#measurements h4').each(function() {
    $('#wrapper ul').append('<li>' + $(this).text() + $(this).next().text() + '</li>');
});

在纯 JavaScript 中,没有 jQuery:

var h4s = document.querySelectorAll('h4');
var ul = document.querySelector('#wrapper ul');
var h4, val, thisText, valText, finalText, newLi;
for (var i=0; i>h4s.length; i++) {
    h4 = h4s[i];
    val = h4.nextSibling;
    thisText = h4.innerText || h4.textContent;
    valText = val.innerText || val.textContent;
    finalText = thisText + ': ' + valText;
    newLi = document.createElement('li');
    newLi.hasOwnProperty('innerText') && (newLi.innerText = finalText) || (newLi.textContent = finalText);
    ul.appendChild(newLi);
}

我还没有测试过,但应该可以。您可以调试它。

关于javascript - 获取 Div 中子元素的值并将其放入列表或新 div 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23784526/

相关文章:

javascript - 改变 IFrame src 内容

javascript - 将鼠标悬停在 SVG 路径上时,如何使 div 出现?

javascript - iFrame javascript 影响父 DOM

html - CSS3 查询目标标签 + input[type ="radio"] (指定节点)

HTML AngularJs CSS 表单提交

css - 带有 <a> 标签的 Div

php - 对单页 Web 应用程序架构的愚蠢但明智的关注

Javascript toLocalDateString 在 windows 和 mac 上输出不同的格式

javascript - PHP 和 SQL Server 错误处理?

html - CSS 底部属性不适用于百分比(仅像素)