如何获取类的值并将其放入数组javascript DOM中?

问题描述 投票:1回答:4

嘿,我有一些包含数据的表,可以在td上使用它。所以更像我有这样的东西(在下面的图像中显示)

我的元素

enter image description here

我想获取所有位置名称并将其放入数组,以便我可以使用该数组,我尝试使用此代码并获得了undefined

script.js

/** Checking if There positions name */
function checkPositions(){
   let positions = document.getElementsByClassName('check-positions').innerHTML;
   let array = [];
   array.push(positions);
   console.log(array);
}

然后我如何获得该值?

javascript
4个回答
1
投票

您遇到的问题是document.getElementsByClassName('check-positions')返回不具有HTMLCollection属性的innerHTML

您需要做的是将HTMLCollection转换为数组,然后读取数组中每个项目的innerHTML属性。请参见以下示例:

const elements = document.getElementsByClassName('check-positions');
const positions = Array.from(elements).map(element => element.innerHTML);

console.log(positions);
<div class="check-positions">1</div>
<div class="check-positions">2</div>
<div class="check-positions">3</div>

1
投票

像这样使用

   let positions = document.getElementsByClassName('check-positions')[0].innerHTML;

它没有显示任何内容,因为您需要对整个数组进行整形并在不使用索引的情况下进行推送

代码

function checkPositions(){
       all_ele = document.getElementsByClassName('check-positions')
       length = all_ele.length
       let array = [];
       for( let i=0;i<length;i++)
       {
          let positions = document.getElementsByClassName('check-positions')[i].innerHTML;
          array.push(positions);
       }   
       console.log(array);

0
投票

您可以使用jquery代码执行此操作。

var arr = [];
$("#tablePlacement tr").each(function() {
var name =  $(this).children('td.check-positions').text();
arr.push(name);
});

0
投票

您应该使用

let positions = document.getElementsByClassName('check-positions').innerText;
© www.soinside.com 2019 - 2024. All rights reserved.