Javascript 为什么最后使用的是getElementsByTagName(“a”)[0]?

Javascript 为什么最后使用的是getElementsByTagName(“a”)[0]?,javascript,Javascript,文件 window.onload=function() { var oTab=document.getElementById('tab1'); var oName=document.getElementById('name'); var oAge=document.getElementById('age'); var oBtn=document.getElementById('btn'); var id=oTab.rows.length+1; oBtn.onclick=函数() { var oT


文件
window.onload=function()
{
var oTab=document.getElementById('tab1');
var oName=document.getElementById('name');
var oAge=document.getElementById('age');
var oBtn=document.getElementById('btn');
var id=oTab.rows.length+1;
oBtn.onclick=函数()
{
var oTr=document.createElement('tr');
var oTd=document.createElement('td');
oTd.innerHTML=id++;
其他儿童(oTd);
var oTd=document.createElement('td');
oTd.innerHTML=oName.value;
其他儿童(oTd);
var oTd=document.createElement('td');
oTd.innerHTML=oAge.value;
其他儿童(oTd);
var oTd=document.createElement('td');
oTd.innerHTML=“”;
其他儿童(oTd);
oTd.getElementsByTagName('a')[0]。onclick=function()
{
oTab.tBodies[0].removeChild(this.parentNode.parentNode);
}
oTab.tBodies[0].appendChild(oTr);
}
}
姓名:
班级:
1.
2.
3.
操作
2.
22
33
3.
22
33
4.
22
33
目的 代码的目的是向创建的每个
元素添加一个单击处理程序。单击
时,将删除
函数体中的行

                var oTd = document.createElement('td');
                oTd.innerHTML = "<a href='javascript:'>Delete</a>" ;
                oTr.appendChild(oTd);

                oTd.getElementsByTagName('a')[0].onclick=function()
                {
                    oTab.tBodies[0].removeChild(this.parentNode.parentNode);
                }
崩溃 我们可以将下面的一行改为多行,并解释每个步骤

之前 之后
//获取所有子元素
var AnchoreElements=oTd.getElementsByTagName('a');
//获取第一个元素
var a=锚定元素[0];
//将单击事件处理程序附加到元素
a、 onclick=function(){alert('Clicked!')};

因为该元素中只有一个
元素。就我个人而言,我只会创建a元素,而不使用innerHTML对其进行查询。因此,在创建大量a之后,则需要使用for循环来添加onclick?没有用于添加onclick的循环。。。不知道你的评论是什么意思。单元格中有一个新的锚点,因此代码选择锚点并向其添加onclick。由于该方法返回一个HTML集合,而不仅仅是一个元素,因此代码需要使用括号表示法来获取第一个索引。是否询问不能接受顶部注释?不要使用^\^
                var oTd = document.createElement('td');
                var anchor = document.createElement('a');
                anchor.textContent = "Delete";

                oTd.appendChild(anchor);
                oTr.appendChild(oTd);

                anchor.onclick = function() {
                    oTab.tBodies[0].removeChild(this.parentNode.parentNode);
                }
oTd.getElementsByTagName('a')[0].onclick=function() { alert('Clicked!') };
// Get all child <a> elements 
var anchorElements = oTd.getElementsByTagName('a');

// Get the first <a> element
var a = anchorElements[0];

// Attach a click event handler to the element
a.onclick = function() { alert('Clicked!') };