
循环时getElementbyId只能改变第一个值,改变第二个值?
3个回答
展开全部
一个html文件中,同一个id只能给一个节点,也就是不能让两个节点的id相同。这不是html的硬性要求,你就算给两个节点相同的id,也不会有什么错误。
但试想,id的意思就是身份,就好像你的身份证,怎么可以有两个不同的人拿着相同的身份证号(别较真,举例而已)?这个id是标志一个唯一的节点的,就好像数据库中的主键,一个id就只能对应一个节点。
在js中,document.getElementById(tmp)返回id为tmp的节点。它返回是一个唯一的节点,不是数组,不像document.getElementsByTagName。getElementById的返回值就是那个id为参数值的那个节点,但如果你的页面里有两个id都是这个参数怎么办?getElementById只会返回第一节点,第二个你永远也不能使用这个方法取得。
所以,你一定是给了相同的id到不同的节点,只要把这些id都设置成不同的,就可以解决你的问题了。
但试想,id的意思就是身份,就好像你的身份证,怎么可以有两个不同的人拿着相同的身份证号(别较真,举例而已)?这个id是标志一个唯一的节点的,就好像数据库中的主键,一个id就只能对应一个节点。
在js中,document.getElementById(tmp)返回id为tmp的节点。它返回是一个唯一的节点,不是数组,不像document.getElementsByTagName。getElementById的返回值就是那个id为参数值的那个节点,但如果你的页面里有两个id都是这个参数怎么办?getElementById只会返回第一节点,第二个你永远也不能使用这个方法取得。
所以,你一定是给了相同的id到不同的节点,只要把这些id都设置成不同的,就可以解决你的问题了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询