document.getElementById()与document.getElementsByTagName()的区别
时间: 2024-02-21 19:55:45 浏览: 75
document.getElementById()和document.getElementsByTagName()是JavaScript中常用的两个DOM操作方法,它们的区别如下:
1. document.getElementById():这个方法用于通过元素的id属性获取单个元素。它接受一个参数,即要获取的元素的id值,并返回一个表示该元素的对象。如果找不到对应id的元素,则返回null。
2. document.getElementsByTagName():这个方法用于通过元素的标签名获取一组元素。它接受一个参数,即要获取的元素的标签名,并返回一个表示该元素集合的HTMLCollection对象。如果找不到对应标签名的元素,则返回一个空的HTMLCollection对象。
总结起来,document.getElementById()用于获取单个元素,而document.getElementsByTagName()用于获取一组元素。
相关问题
window.onload = function() { var container = document.getElementById('container'); var list = document.getElementById('list'); var buttons = document.getElementById('buttons').getElementsByTagName('span'); var prev = document.getElementById('prev'); var next = document.getElementById('next'); var index = 1; var timer;
这段代码是一个页面加载完成后执行的函数,主要用于获取页面中的一些元素,并定义了一些变量。
以下是代码的详细解释:
1. `window.onload = function() { ... }` 表示在页面加载完成后执行的函数。
2. `var container = document.getElementById('container');` 获取id为"container"的元素,并将其赋值给变量container。
3. `var list = document.getElementById('list');` 获取id为"list"的元素,并将其赋值给变量list。
4. `var buttons = document.getElementById('buttons').getElementsByTagName('span');` 获取id为"buttons"的元素下所有的<span>元素,并将其作为一个集合赋值给变量buttons。
5. `var prev = document.getElementById('prev');` 获取id为"prev"的元素,并将其赋值给变量prev。
6. `var next = document.getElementById('next');` 获取id为"next"的元素,并将其赋值给变量next。
7. `var index = 1;` 定义一个变量index,并将其初始值设置为1。
8. `var timer;` 定义一个变量timer,用于存储定时器的引用。
这段代码看起来是一个轮播图或图片切换功能的初始化部分,其中获取了容器、图片列表、按钮等元素,并定义了一些变量用于控制轮播效果。在这个代码片段中还缺少轮播图效果的具体实现部分,可能需要进一步的代码来完成整个轮播功能。
javascript新增數據用的是// 获得新增数据 function popDiv(){ // 获取div元素 var popBox = document.getElementById("popDiv"); var popLayer = document.getElementById("popLayer"); // 控制两个div的显示与隐藏 popBox.style.display = "block"; popLayer.style.display = "block"; } function closePop(){ // 获取弹出窗口元素 let popDiv = document.getElementById("popDiv"); popDiv.style.display = "none"; } function add(){ // 获取table标签元素 let table = document.getElementById("work_table"); // 创建新行 let newRow = table.insertRow(); // 创建新单元格 let cellDate = newRow.insertCell(); let cellData = newRow.insertCell(); let cellText = newRow.insertCell(); let cellName = newRow.insertCell(); let cellAge = newRow.insertCell(); let cellChar = newRow.insertCell(); let cellSex = newRow.insertCell(); let cellBat = newRow.insertCell(); // 获取文本框内容 let date = document.getElementById("DATE"); let data = document.getElementById("DATA"); let text = documenet.getElementById("TEXT"); let name = document.getElementById("NAME"); let age = document.getElementById("AGE"); let char = document.getElementById("CHAR"); let sex = document.getElementById("SEX"); let bat = document.getElementById("BAT"); // 向表格中插入元素 cellName.innerHTML = name.value; cellAge.innerHTML = age.value; cellSex.innerHTML = sex.value; closePop(); },那查詢的代碼該如何寫
查詢的代碼需要根據具體情況來寫,以下是一個簡單的例子,假設要查詢姓名為"王小明"的數據:
function search() {
// 获取table标签元素
let table = document.getElementById("work_table");
let rows = table.getElementsByTagName("tr");
for (let i = 1; i < rows.length; i++) { //从1开始遍历是因为第0行是表头
let cells = rows[i].getElementsByTagName("td");
if (cells[0].innerHTML === "王小明") { //假设第一个单元格是姓名
cells[0].style.backgroundColor = "yellow"; //将姓名为王小明的行背景色改为黄色
return;
}
}
alert("没有找到姓名为王小明的记录");
}
注意,以上代码只是一个简单的例子,实际情况中,需要根据具体需求来设计查询逻辑,如查询条件、查询方式等。
阅读全文