[转]html js中name和id的区别和使用分析
js中web页面元素的调用可以有两种识别方法:id和name
自己在用的过程中总结一下id和name的使用区别。
一,使用范围
除 BASE, HEAD, HTML, META, SCRIPT, STYLE, TITLE 标签外,id 都可用.
name只用于APPLET,SELECT,FORM,FRAME,IFRAME,IMG,A,INPUT,OBJECT,MAP,PARAM,META.
(name有时有自己的用途)
name 用于 form 内元素,提交需要
id 用于 form 外元素好用因为 DOM 能直接取得单一元素
document.getElementByIdx_xx_x_x(“id_Number”) 得到的是单个元素
document.getElementsByName(“name”) 得到的是数组
注:元素的获取方式
取得 id :document.getElementByIdx_xx_x_x(“idname”)
取得 name : document.getElementsByName(“name”)[0?1?2?3?....]
表单元素 (form input textarea select) 与框架元素 (iframe frame) 用 name
这些元素都与表单 ( 框架元素作用于 form 的 target) 提交有关 , 在表单的接收页面只
接收有 name 的元素 , 赋 ID 的元素通过表单是接收不到值的
Name 其实要复杂的多,因为 Name 有很多种的用途,所以它并不能完全由 ID 来代替,从而将其取消掉。
具体用途有:
用途 1: 作为可与服务器交互数据的 HTML 元素的服务器端的标示,比如 input 、 select 、
textarea 、和 button 等。我们可以在服务器端根据其 Name 通过 Request.Params
取得元素提交的值。
用途 2: HTML 元素 Input type=’radio’ 分组,我们知道 radio button
控件在同一个分组类, check 操作是 mutex 的,同一时间只能选中一个 radio ,这个分组就是根据相同的 Name
属性来实现的。
用途 3: 建立页面中的锚点,我们知道 link 是获得一个页面超级链接,如果不用 href 属性,而改用 Name ,如: ,我们就获得了一个页面锚点。
用途 4: 作为对象的 Identity ,如 Applet 、 Object 、 Embed 等元素。比如在 Applet
对象实例中,我们将使用其 Name 来引用该对象。
用途 5: 在 IMG 元素和 MAP 元素之间关联的时候,如果要定义 IMG 的热点区域,需要使用其属性 usemap
,使 usemap=”#name”( 被关联的 MAP 元素的 Name) 。
用途 6: 某些特定元素的属性,如 attribute ,和 param 。例如为 Object 定义参数。
二,唯一性区别
有些标签,可以同时有name和id.
id 就像身分证号,是唯一的, name 就像姓名一样可以同名
在一个HTML网页中,id是唯一的,即只有某一个标签,或某一个块的标识符是这个id.
而当有多个name时,系统自动使同name归为数组
赋 name: document.formName.inputName document.frames(“frameName”)
赋 ID : document.all.inputID document.all.frameID
在通用的情况下:
NAME.属性
document.NAME.属性
document.getElementsByName(‘NAME’)
ID.属性
document.ID.属性
document.getElementByIdx_xx_x_x(‘ID).属性
http://hi.baidu.com/liu19871112/item/5dfba65df584ac3832e0a922
[转]html js中name和id的区别和使用分析的更多相关文章
- JS中class和id的区别
class和id的区别 class用于css的,id用于js的. 1)class页面上可以重复.id页面上唯一,不能重复. 2)一个标签可以有多个class,用空格隔开.但是id只能有id.
- JS 中的require 和 import 区别整理
ES6标准发布后,module成为标准,标准的使用是以export指令导出接口,以import引入模块,但是在我们一贯的node模块中,我们采用的是CommonJS规范,使用require引入模块,使 ...
- 浅谈JS中的!=、== 、!==、===的用法和区别 JS中Null与Undefined的区别 读取XML文件 获取路径的方式 C#中Cookie,Session,Application的用法与区别? c#反射 抽象工厂
浅谈JS中的!=.== .!==.===的用法和区别 var num = 1; var str = '1'; var test = 1; test == num //tr ...
- JS中isPrototypeOf 和hasOwnProperty 的区别 ------- js使用in和hasOwnProperty获取对象属性的区别
JS中isPrototypeOf 和hasOwnProperty 的区别 1.isPrototypeOf isPrototypeOf是用来判断指定对象object1是否存在于另一个对象object2的 ...
- (网页)Angular.js 中 copy 赋值与 = 赋值 区别
转自st.gg Angular.js 中 copy 赋值与 = 赋值 区别 为什么用 $scope.user = $scope.master; $scope.master 会跟着 $scope.use ...
- js中的substr和substring区别
js中的substr和substring区别 Substring: 该方法可以有一个参数也可以有两个参数. (1) 一个参数: 示例: var str=“Olive”: str.substring( ...
- 区别js中name与id的简单方法
举个简单的例子: <form name="form1"> 用户名:<input type=text name="username" id=&q ...
- js中Attribute和property的区别与联系
相信大多数的初学者对js中的property和attribute的关系很容易搞混, Attribute大多用于DOM的操作中,比如ele.attributes指的是一个元素的特性集合,是一个nodel ...
- JS中property与attribute的区别
property与attirbute都是属性的意思,在JS中很容易混淆,但实际上二者有很大的区别.简单来说, property:是DOM中的属性,是JavaScript中的对像 attribute:是 ...
随机推荐
- Stanford机器学习笔记-6. 学习模型的评估和选择
6. 学习模型的评估与选择 Content 6. 学习模型的评估与选择 6.1 如何调试学习算法 6.2 评估假设函数(Evaluating a hypothesis) 6.3 模型选择与训练/验证/ ...
- AC日记——潜伏着 openjudge 1.7 11
11:潜伏者 总时间限制: 1000ms 内存限制: 65536kB 描述 R国和S国正陷入战火之中,双方都互派间谍,潜入对方内部,伺机行动. 历经艰险后,潜伏于S国的R国间谍小C终于摸清了S国军 ...
- Prefab Assist插件
资料 Prefab文档: http://game.ceeger.com/Manual/Prefabs.html 基础:基于NGUI制作组件的Prefab 前言 在一个游戏的UI中,有一些通用的组件,比 ...
- jQuery实例
1.$("ul li").fliter(":contains('佳能'),:contains('尼康'),:contains('奥林巴斯')").addClas ...
- HTML DOM 元素对象
HTML DOM 元素对象 HTML DOM 节点 在 HTML DOM (Document Object Model) 中, 每个东西都是 节点 : 文档本身就是一个文档对象 所有 HTML 元素都 ...
- iOS运行时Runtime浅析
运行时是iOS中一个很重要的概念,iOS运行过程中都会被转化为runtime的C代码执行.例如[target doSomething];会被转化成objc)msgSend(target,@select ...
- Delphi连接Oracle控件ODAC的安装及使用(轉載)
Delphi连接Oracle控件ODAC的安装及使用 2010-08-13 01:13:37 标签:Oracle Delphi 控件 休闲 ODAC 原创作品,允许转载,转载时请务必以超链接形式标明 ...
- css中如何设置字体
来自百度的回答: 建议使用font-family: "Microsoft YaHei";支持UTF-8和GB2312字符集. 不生效的3种情况:1.当此属性定义的是全局样式时,对于 ...
- Html代码保存为Pdf文件
前段时间Insus.NET有实现了<上传Text文档并转换为PDF>http://www.cnblogs.com/insus/p/4313092.html 和<截取视图某一段另存为部 ...
- Java多线程总结(一)多线程基础
多线程是Java学习的非常重要的方面,是每个Java程序员必须掌握的基本技能.本文只是多线程细节.本质的总结,并无代码例子入门,不适合初学者理解.初学者学习多线程,建议一边看书.看博文,以便写代码尝试 ...