zoukankan      html  css  js  c++  java
  • 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)

  • 相关阅读:
    C++11 并发指南四(<future> 详解三 std::future & std::shared_future)(转)
    转: 关于 ssl的建立链接的过程
    工信部电信投诉网站入口
    rfc 标准文档目录
    转: 七牛云的开源播放器的使用指南
    转: Android基于HLS和RTMP协议的第三方SDK选择
    转:Android中Context详解 ---- 你所不知道的Context
    android开发推荐书籍列表
    转:java 类名 this 的使用
    转: android studio 消除SDK更新时的“https://dl-ssl.google.com refused”错误
  • 原文地址:https://www.cnblogs.com/vs2016/p/5152464.html
Copyright © 2011-2022 走看看