HTML编程基础 : 关于 HTML标签中的 id 与 name. (抛砖贴)
梅雪香 2005-11-03 12:56:21 说到 id 和 name 属性,做网页的一点都不陌生。心想,这有什么好说的啊?
没错,id 和 name 属性确实普通到家了,但就是有些人不会用,要不就是用不好。我这样说并不是说我用的好,标题中已经说明,该贴为抛砖贴,只不过把本人对于id 与 name 的所知所感拿出来与大家交流一下而已。
1。什么是 name.
name:意思就是名字,你有我有他有,啥还能没有个名字呢。比如:奥迪A8就是一款车的名字,一提起来,大家都有印象----那个车好啊,不过买不起!所以名字是一系列有共性东西的统称(getElementsByName),那么有没有唯一的名字呢?当然有的,不难想吧,不说了(length=0;)。
2。什么是 id.
id:identity,是对象本身的唯一标识,不可重复。你有没有身份证啊,有吧,你找个和你一样的来看看,除非工作人员搞错了,否则是没有重复的(getElementById)。什么,你没有?黑人口,会被收容的,不和你说话 !(getElementById==null;)
3。相同与不同
相同之处就是它们都是对象的一个代号。不同的是代表的集合不同,name代表多个,id代表一个。当只有一个对象时,用name 和 id效果是一样的。一个对象可以同时有id 和 name属性,就像白天为我们照亮的我们叫作:太阳,那么,这就是它的id,如果换成叫恒星,那就是name[i]了。
4。易出现错误。
虽然 id 和 name是如此简单,但用不好一样会出错的。一般会有两种情况:重复定义了id/想引用一个对象的时候却用了name属性(有同name对象存在).
第一种情况就像发了相同号码的身份证,电视台上说该号码中了五百万,两个人都去了该如何是好?在页面里重复定义ID是不允许的,虽然HTML并没有强制ID检查。浏览器将只能找到最后一个被定义为该ID的对象,可能出现错误。
如果你想引用一个对象,却用了name也有可能出现错误,如果该name被用于命名一个数组的话。
5。关于id 和 name 的巧妙使用。
一般来说,是没有必要为对象同时写上id 和 name属性的。
了解了它们的脾气,就更方便我们使用。是时候为我们造福啦。
用例子来说明:比如一行的N个td中有N张图片,我们当然可以在td中写<img src="xxx.jpg"..>之类的代码,但也可以考虑用id的变化来处理,把td命名为:td0,td1,td2,td3。。。。tdN,把图片命名为picname0.jpg,picname1.jpg.....然后在body 的onload中,用一个循环也可以来实现这个功能
for(var i=0;i<N;i++)
eval("td"+i).innerHTML="<img src='picname'"+i+".jpg'>";
如果是需要对其进行循环处理的东西(像表格中处理删除等功能用的checkbox等),我们可以命名为相同的name。
这里仅是举个例子,大家在使用的时候有什么心得大可以拿出来与大家分享。
再次申明,本贴为抛砖贴,希望大侠们能写出高水准的东西来。