1 需求
元素选择
- document.getElementById()
- document.getElementsByClassName()
- document.getElementsByTagName()
- document.getElementsByName()
- document.querySelector()
- document.querySelectorAll()
2 接口
在JavaScript中,元素选择(或DOM元素选择)有多种方法。这些方法通常用于从文档对象模型(DOM)中获取特定的元素或元素集合。以下是一些常用的JavaScript元素选择方法:
- 通过ID选择:
var element = document.getElementById('elementId');
通过类名选择:
getElementsByClassName
(返回类名匹配的元素集合,HTMLCollection类型):
var elements = document.getElementsByClassName('className');
querySelectorAll
(返回匹配的元素集合,NodeList类型,支持CSS选择器):
var elements = document.querySelectorAll('.className');
通过标签名选择:
getElementsByTagName
(返回标签名匹配的元素集合,HTMLCollection类型):
var elements = document.getElementsByTagName('tagName');
querySelectorAll
(同上,但更通用):
var elements = document.querySelectorAll('tagName');
通过CSS选择器选择:
querySelector
(返回匹配的第一个元素):
var element = document.querySelector('.className, #elementId, tagName');
querySelectorAll
(返回匹配的所有元素):
var elements = document.querySelectorAll('.className, #elementId, tagName');
通过属性选择:
- 使用
querySelectorAll
和属性选择器(例如[attr=value]
):
var elements = document.querySelectorAll('[attributeName="attributeValue"]');
通过父子/兄弟关系选择:
parentNode
/parentElement
(获取父元素):
var parent = element.parentNode; // 或 element.parentElement;
children
(获取所有子元素,HTMLCollection类型):
var children = element.children;
firstElementChild
/lastElementChild
(获取第一个/最后一个子元素):
var firstChild = element.firstElementChild; var lastChild = element.lastElementChild;
nextElementSibling
/previousElementSibling
(获取下一个/上一个兄弟元素):
var nextSibling = element.nextElementSibling; var prevSibling = element.previousElementSibling;
通过表单元素选择(如
forms
,inputs
,select
,textarea
等):
document.forms
(获取所有<form>
元素):
var forms = document.forms;
form.elements
(从表单中获取所有元素):
var form = document.forms[0]; var elements = form.elements;
使用
matches
方法检查元素是否匹配CSS选择器:
element.matches(selector)
(返回布尔值):
if (element.matches('.className')) { // ... }
这些方法是JavaScript中常用的元素选择方法,但请注意,它们之间的兼容性和性能可能有所不同,因此在使用时需要考虑这些因素。