我应该如何定义一个重复出现的HTML元素&用JavaScript找到它们

How should I define a recurring HTML element & find them all with JavaScript?

本文关键字:amp 元素 HTML JavaScript 定义 何定义 我应该 一个      更新时间:2023-09-26

我一直在努力找出定义某个元素的最佳方法,该元素在整个页面中出现任意次数,而不需要:

  • "name"属性;或
  • 新元素(XHTML)的定义

我本质上是在"name"属性之后;然而,它看起来是多余的、过时的,并且部分贬值。

我希望使用JavaScript隔离和操作上述元素,最好避免使用jQuery。有合理的解决方案吗?到目前为止,我想到了:

  • 遍历具有特定标记的所有元素,并检查特定className;或
  • 在元素上使用增量ID(例如el1el2el3),并在序列中迭代,直到getElementById返回null(感觉很糟糕,只是我想要的)

感谢:)

querySelectorAll返回文档中与指定选择器组匹配的元素列表(使用文档节点的深度优先预排序遍历)。返回的对象是NodeList。

参考:https://developer.mozilla.org/en/DOM/Document.querySelectorAll

您可以使用querySelectorAll,这是一个可以在该页面的javascript控制台中运行的示例。

var myList = document.querySelectorAll("a");
for (var c= 0 ; c < myList.length; c += 1) {
   console.log(myList[c]);
    myList[c].onmouseover= function () {alert(this)}
} 

如果您有意引用className,则可以使用document.getElementsByClassName(),尽管IE 8及更早版本不支持此功能。对于这些版本,您可以使用其他技术之一。FWIW,我相信jQuery就是这样做的。

  1. 您可以使用className-document.getElementsByClassName()
  2. 在HTML 5中,您可以使用数据属性-document.querySelectorAll('[...]');