Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/402.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将span元素InnerText解析为javascript键值对象_Javascript_Html - Fatal编程技术网

将span元素InnerText解析为javascript键值对象

将span元素InnerText解析为javascript键值对象,javascript,html,Javascript,Html,我有下面的div元素,我想解析span文本,并将其另存为键值对 <div class="data-diff-span__composite-list-item__18c5zip data-diff-core__highlight-area__19c0zip" style="height: 29px" > <div class="data-diff-basic__class-row__4ngp30a">

我有下面的div元素,我想解析span文本,并将其另存为键值对

<div
  class="data-diff-span__composite-list-item__18c5zip data-diff-core__highlight-area__19c0zip"
  style="height: 29px"
>
  <div class="data-diff-basic__class-row__4ngp30a">
    <div class="data-diff-basic__class-header__4ngp30a">
      <span class="data-diff-basic__class-name__4ngp30a">ADDITIONAL_WRK</span>
      <span class="sp3-tag sp3-intent-danger">
        <span class="sp3-text-overflow-ellipsis sp3-fill">DECIMAL</span>
      </span>
    </div>
  </div>
</div>
<div
  class="data-diff-span__composite-list-item__18c5zip data-diff-core__highlight-area__19c0zip"
  style="height: 29px"
>
  <div class="data-diff-basic__class-row__4ngp30a">
    <div class="data-diff-basic__class-header__4ngp30a">
      <span class="data-diff-basic__class-name__4ngp30a"> AFFECTMRAPPLIC</span>
      <span class="sp3-tag sp3-intent-danger">
        <span class="sp3-text-overflow-ellipsis sp3-fill"> DECIMAL</span>
      </span>
    </div>
  </div>
</div>
<div
  class="data-diff-span__composite-list-item__18c5zip data-diff-core__highlight-area__19c0zip"
  style="height: 29px"
>
  <div class="data-diff-basic__class-row__4ngp30a">
    <div class="data-diff-basic__class-header__4ngp30a">
      <span class="data-diff-basic__class-name__4ngp30a">APPROVED_ON</span>
      <span class="sp3-tag sp3-intent-danger">
        <span class="sp3-text-overflow-ellipsis sp3-fill">TIMESTAMP</span >
      </span>
    </div>
  </div>
</div>
<div
  class="data-diff-span__composite-list-item__18c5zip data-diff-core__highlight-area__19c0zip"
  style="height: 29px"
>
  <div class="data-diff-basic__class-row__4ngp30a">
    <div class="data-diff-basic__class-header__4ngp30a">
      <span class="data-diff-basic__class-name__4ngp30a">COMPOSITE</span>
    </div>
  </div>
</div>

您可以通过在第一个循环中选择第二个div来实现这一点,方法是“询问”父级是否有一个div。如果不是(结果“null”),则将该值设置为空字符串

工作示例:

var firstSpan=document.getElementsByClassName('data-diff-basic__class-name__4ngp30a');
var spanCollection={};
对于(变量i=0;i

附加工作
十进制的
影响应用
十进制的
批准
时间戳
混合成的
// first span
var firstSpan= document.getElementsByClassName( 'data-diff-basic__class-name__4ngp30a' )
var firstSpanArray = [];
for ( var i = 0; i < firstSpan.length; ++i )
    firstSpanArray.push( firstSpan[i].innerText );

// var second span
var secondSpan= document.getElementsByClassName( 'sp3-text-overflow-ellipsis sp3-fill' )
var secondSpanArray = [];
for ( var i = 0; i < secondSpan.length; ++i )
    secondSpanArray.push( secondSpan[i].innerText);
spanCollection = { "ADDITIONAL_WRK":"DECIMAL", "AFFECTMRAPPLIC":"DECIMAL",
"APPROVED_ON":"TIMESTAMP","COMPOSITE":"" }