name主要用于提交表单数据时使用,如
<input type="text" name="UserName">这样,提交过去后,就可以通过name来得到值,id主要用于页面内的Javascript引用。如<span id="t1">abc</span>
你就可以在页面的Javascript中写到document.all("t1").innerHTML = "<b>abc</b>";
之类的语句

解决方案 »

  1.   

    name只能对
    A, APPLET, attribute, BUTTON, EMBED, FORM, IMG, INPUT type=button, INPUT type=checkbox, INPUT type=file, INPUT type=hidden, INPUT type=image, INPUT type=password, INPUT type=radio, INPUT type=reset, INPUT type=submit, INPUT type=text, LINK, MAP, OBJECT, RT, RUBY, SELECT, TEXTAREA起作用,而id可以对几乎所有HTML标签起作用,它是用于标识元素的
      

  2.   

    如果,一个元素只有name时,是不是javascript就调用这个name。
      

  3.   

    我觉得ID是用在DHTML设计中的,每一个HTML元素(对应一个对象,<HEAD>好象没有~)都有ID属性,利用ID可以引用HTML元素,修改其属性,NAME则主要是应用在表单中的,用来引用表单控件用的,有些元素,如div,你给他了name属性也引用不了,只要给出ID就可以引用了~
      

  4.   

    通过document.all("xname")也能得到,或者像form元素等,可以:
    <form name="addform" ...>
    ...
    <input type="text" name="abc">
    ...
    </form>javascript就可以直接通过document.addform.abc引用到input对象,
      

  5.   

    对了对了,终于明白了,name是用来传递数据用的,就是说,name中的内容要写到HTTP头里传送到服务器上的,所以表单域里的控件都有name,如果在表单域中的控件不写name值是不能进行传递的,如balloy()所说,只有那些元素有name属性,其他的如div的操作属于DHTML范围,由ID来标识,这些可能会因为浏览器的不同可能略有差别,具体怎么样我也不晓得^_^
      

  6.   

    好象懂了,可还是有点糊涂。能再多讲点吗?
    documnet引用的是name,还是id?
    还是两个都能引用??
      

  7.   

    对某些元素,如div,span等,设置了name也没用,只能用id访问,大多数情况下,你只要遵循以下原则就行了:
    <form>及其以内的<input ..>,<select>元素使用name,javascript通过document.formname.objectname访问,而其他元素,都使用id, javascript通过document.all("objectname")访问,更具体的内容可以看msdn