• html中元素的id和name的区别(2016-1-22)


    HTML中元素的Id和Name属性区别

    一直以来一直以为在html中,name和id没什么区别,今天遇到一个坑才发现(PHP获取不到表单数据,原因:元素没有name,只定义了id),这两者差别还是很大,细节之处不可疏忽。

    因此总结一下:

      在html中name指的是元素名称, id指的是元素注册时的一个id序列号。其中name是用来提交数据的,提供给表单用,可以重复;id则针对文档操作时候用,不能重复。如:document.getElementById();

    总结: id就像是一个人的身份证号码,而name就像是一个人的名字,id显然是唯一的,而Name是可以重复的。

    一、id是常在客户端脚本里用;而name是用于获取提交表单的某表单域信息,在form里面,如果不指定Name的话,就不会发送到服务器端。

    二、以下元素input、select、form、frame、iframe用name,而以下元素table、tr、 td、div、p、span、h1、li用id,

        表单元素(form input textarea select)与框架元素(iframe frame)用 name,这些元素都与表单(框架元素作用于form的target)提交有关, 在表单的接收页面只接收有name的元素, 赋ID的元素通过表单是接收不到值的.

     
    当然上述元素也可以赋ID值, 赋ID值的时候引用这些元素的方法就要变一下了. 
      赋 name: document.formName.inputName        document.frames("frameName") 
      赋 ID    : document.all.inputID                      document.all.frameID 
    只能赋ID不能赋name的元素:(除去与表单相关的元素都只能赋ID) 
      body li a table tr td th p div span pre dl dt dd font b 等等

    举个简单的例子:

    <form name="form1"> 
      用户名:<input type=text         name="username"  id="username"> 
      密码:   <input type=password  name="password"  id="pwd"> 
    </form> 


    如果我要获得用户名和密码;

    JS用name获得的话,就得写成

      document.form1.username.value; 
      document.form1.password.value; 
    js用id获得值: 
       docuement.getElementById("username"); 
         docuement.getElementById("pwd"); 
    有时候name 可能会出现相同的名字,所以这时候我们用name获得就无法确定获得的是哪个值了。 
    document.getElemntsByName("username"); 
    这里得到的是一个数组(常用来组成数组时,应用!!)


    document.getElementsByName(xxx);   取出的数组 
    document.getElementById(xxx);      取出是单个元素


    还有需要注意的

    有些元素 比如 div 可以用 id名字直接得到对象 
    <div id="div1"></div> 
    div1.innerHTML = "asdfasdf";

    而表单元素 就不可以这样了 
    只能用 document.getElementById(xx)

  • 相关阅读:
    Git连接Github
    全民来打飞机~~(设计探讨)
    mongo学习
    redis aop持久化
    redis的超时删除策略
    redis 学习,没事的时候看看增长知识面
    MySQL query / clause execution order
    用redis做超时判断 感觉写的很有意思
    python 编码问题(转载)
    git 个人学习
  • 原文地址:https://www.cnblogs.com/vs2016/p/5152464.html
Copyright © 2020-2023  润新知