javascript - 在 javascript 中获取特定 DOM 元素组的内容列表的最佳方法是什么?

标签 javascript html dom

基本场景:我在 HTML 页面上有一系列动态生成的元素。 (目前,它们都是 div,但并不需要如此。)

我想要的是一个 javascript 函数,它将循环遍历所有这些 div (或其他)以查找是否存在特定值。

最好、最跨浏览器的方法是什么? getElementsByName() 是否适用于所有浏览器中的 div?我可以为它们提供相同的 ID 并以某种方式从 getElementById 中获取一个数组吗?

如果我将这些 div 更改为 spansinputs,事情会变得更容易吗?

谢谢!

(编辑:对于这个项目来说,如果有一个不使用任何外部 js 库的解决方案,那将是最好的。我假设 jQuery 有一个函数可以在一行中完成此操作,但目前我想避免与客户打开那 jar 蠕虫。)

最佳答案

getElementsByTagName 是在 DOM Core 中定义的,因此任何实现该功能的浏览器都可以使用。这涉及当前使用的所有浏览器。

查看此处了解具体信息:http://www.quirksmode.org/dom/w3c_core.html

需要注意的一个问题是 getElementsByTagName 返回一个 NodeList - 而不是一个数组。它的工作原理是一样的,但它的评估很晚,所以如果你在遍历 NodeList 时向 DOM 添加/删除节点,你会得到奇怪的结果。在这些情况下,编写两个循环;首先循环遍历 NodeList 并将所有条目存储在数组中 - 然后循环遍历数组。

关于javascript - 在 javascript 中获取特定 DOM 元素组的内容列表的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/611978/

相关文章:

javascript - Chrome 扩展 - 将图标嵌入页面

javascript - 更改 <select> onclick 的内容

javascript - 将对象数组中的值插入到一组元素中

html - IE : iFrame Showing, 和无边界*老板说*

javascript - 跨浏览器,跨框架下拉菜单的干净解决方案?

javascript - 一次只有一个 Active 类和 Visible Div

javascript - 如何在dom元素中添加div

javascript - 从 HTML 页面上的另一个元素继承宽度

javascript - Vue.js - 事件不会触发子组件在表中显示请求的数据

javascript - 在表格中追加数组?