javascript - 如何使用javascript从html中获取数组?

标签 javascript

我有一个像这样的 HTML:

<div class='item'>
    <h1 id="Python">Python</h1>
</div>

<div class='item'>
    <h1 id="C++">C++</h1>
</div>

<div class='item'>
    <h1 id="PHP">PHP</h1>
</div>

如何使用 javascript 获取类似 [Python, C++, PHP] 的数组?

我尝试这样写:

var myList = document.getElementsByTagName('h1');
console.log(myList.length)

但是输出是0,这很奇怪。

最佳答案

您的代码日志3:http://jsfiddle.net/t0ho10hw/

要获取语言数组,您可以将 HTMLCollection 转换为实际的 Array,然后使用 .map 来获取语言:

var myList = document.getElementsByTagName('h1');
var languages = [].slice.call( myList ).map( function( item ){
    return item.innerHTML;
});

http://jsfiddle.net/t0ho10hw/1/

或者之前的“经典”方式Array.map:

var languages = [];
for( var i=0; i<myList.length; i++){
   languages.push( myList[i].innerHTML );
}

http://jsfiddle.net/t0ho10hw/2/

关于javascript - 如何使用javascript从html中获取数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26652970/

相关文章:

javascript - 如何从输入中输出值

javascript - IE11 与所有其他浏览器具有不同的 clientWidth 和 clientHeight

javascript - 根据给定值通过键过滤对象

javascript - 创建覆盖 View 并将其渲染在主干的动态 div 中

javascript - EmberJS : Render default template

javascript - ExtJS 即时更改组合框项目的值

javascript - 当用户提交时更新 observableArray 中的记录,而不是自动使用 KnockoutJS

javascript - 为什么这个 javascript 变量会产生语法错误?

javascript - jQuery each() 不能使用 OOP 方法

javascript - 在全局变量内使用 .click() 范围其 JavaScript 计时问题