例如,我在HTML中有以下内容:
<table>
<tr>
<td class="getId">123</td>
</tr>
<tr>
<td class="getId">345</td>
</tr>
</table>
我想创建一个for循环来遍历所有的类名&#34; getId&#34;并将单词存储在数组中,以便输出
var new = [&#39; 123&#39;,&#39; 345&#39;];
我该怎么做?
答案 0 :(得分:4)
// iterate and generate custom element object
var res = $('.getId').map(function() {
// get text
return $(this).text()
// get result as array
}).get();
console.log(res);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<tr>
<td class="getId">123</td>
</tr>
<tr>
<td class="getId">345</td>
</tr>
</table>
&#13;
使用纯JavaScript使用 getElementsByClassName()
获取所有元素并使用 Array.from()
将其转换为数组。要生成文本数组,请使用 Array#map()
。
var res = Array.from(document.getElementsByClassName('getId')).map(function(ele) {
return ele.textContent;
})
console.log(res);
&#13;
<table>
<tr>
<td class="getId">123</td>
</tr>
<tr>
<td class="getId">345</td>
</tr>
</table>
&#13;
答案 1 :(得分:2)
答案 2 :(得分:2)
仅使用javascript
var x = document.getElementsByClassName('getId');
var _myArray =[]
for(var i=0;i<x.length;i++){
_myArray.push(x[i].textContent);
}
console.log(_myArray)
注意:您也可以使用innerHTML
代替textContent
要使用数组的forEach
属性,您可以将nodelist
转换为数组
var x = document.getElementsByClassName('getId'); // document.querySelectorAll
var m =[].slice.call(x);
m.forEach(function(item){
_myArray.push(item.innerHTML)
})
答案 3 :(得分:1)
您可以使用jquery作为
进行迭代var values = [];
$("td.getId").each(function(){
values.push($(this).html());
});
<强>样本强>
var values = [];
$("td.getId").each(function(){
values.push($(this).html());
});
console.log(values)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<tr>
<td class="getId">123</td>
</tr>
<tr>
<td class="getId">345</td>
</tr>
</table>
答案 4 :(得分:1)
使用没有Jq的Js:)
<body>
<table>
<tr>
<td class="getId">123</td>
</tr>
<tr>
<td class="getId">345</td>
</tr>
</table>
</body>
<script>
var val = [];
var list = document.getElementsByClassName("getId");
for (var i = 0; i < list.length; i++) {
val.push(list[i].innerHTML)
}
console.log(val)
</script>