位置: 编程技术 - 正文

浅谈html中id和name的区别实例代码(html里id)

编辑:rootadmin
我们可以通过一段代码来分析一下其中的微妙差别: <form method="post" action="" name="demoform"> <input type="text" name="oDemo" id=”oDemo2” value="DEMO" /> </form> 在IE浏览器里,我们可以通过多少方法来索引到这个文本框对象?(为区别起见,我们把NAME和ID设成了不同的值) 1. oDemo 2. demoform.oDemo 3. document.all.oDemo 4. document.all.demoform.oDemo 5. document.forms[0].oDemo 6. document.forms['demoform'].oDemo 7. document.forms['demoform'].childNodes[0] 8. document.forms['demoform'].elements[0] 9. document.getElementById('oDemo2') 以上9种索引方法在IE6里面全部通过返回值测试,不过值得注意的是最后一种:在IE6里,我把索引对象写成 document.getElementById('oDemo'),浏览器也能正确索引到对象,真是可怕的容错性啊!! 接着问题来了,我们把这段代码放在Mozilla Firefox 1.0里再执行一次,只有第7种方法返回“undefined”,其他的方法可以正确 索引到对象,不过由于第3、4种方法用到了document.all这个IE专有对象,FF1.0虽然返回了正确的值,不过却在控制台里发出了警 告:警告:非标准的属性 document.all。请使用 W3C 的标准形式 document.getElementById() 。 接下来我们把HTML文本类型定义得严格一点,在源代码开头加上: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4. Transitional//EN" " 使HTML文本按照HTML4.标准去解析,在IE6里照样全部通过返回值测试,不过在Mozilla Firefox 1.0里麻烦就大了,第3、4种方法 没有任何的返回值,而在控制台里发出了报错信息:错误: document.all has no properties ,而第7种方法依旧返回“undefined ”。 小 结 name原来是为了标识之用,但是现在根据规范,都建议用id来标识元素。 以下只能用name: 1. 表单(form)的控件名,提交的数据都用控件的name而不是id来控制。因为有许多name会同时对应多个控件,比如 checkbox和radio,而id必须是全文档中唯一的。此外浏览器会根据name来设定发送到服务器的request。因此如果用id,服务器是无 法得到数据的。 2. frame和window的名字,用于在其他frame或window指定target。 以下只能用id: 1. label与form控件的关联, <label for="MyInput">My Input</label> <input id="MyInput" type="text"> for属性指定与label关联的元素的id,不可用name替代。 2. CSS的元素选择机制,以#MyId的方式指定应用样式的元素,不能用name替代。 3. 脚本中获得对象: IE支持在脚本中直接以id(而不是name)引用该id标识的对象。例如上面的input,要在脚本中获得输入的内容,可以直接以 MyInput.value来获得。 如果用DOM的话,则用document.getElementById("MyInput").value,如果要用name的话,通常先得到包含控件的form,例如 document.forms[0],然后从form再引用name,注意这样得到的是经过计算后将发送给服务器的值。 name与id的其他区别是: id要符合标识的要求,比如大小写敏感,最好不要包含下划线(因为不兼容CSS)。而name基本上没有什么要求,甚至可以用数字 。 用CSS控制这个链接的停留样式, 可以这样写 #m_blog div.opt a:hover{color:#D} 或 #myLink:hover{color:#D} NAME主要应用在交互式网页,表单提交给某个服务器端脚本后接收变处理量使用。从源代码的规范性和兼容性角度出发,如在客户端 脚本里要索引某个对象,建议用document.getElementById()方法,尽量不要直接使用NAME的值,当然如果不考虑兼容性,以上9种方 法都可以在IE里运行通过(IE5.0没测试过)。 附:测试源代码 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4. Transitional//EN" " <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb" /> <title></title> </head> <body> <form method="post" action="" name="demoform"> <input type="text" name="oDemo" value="DEMO" id="oDemo2" /><br /> <input type="button" value="oDemo" onclick="alert(oDemo.value)" /><br /> <input type="button" value="demoform.oDemo" onclick="alert(demoform.oDemo.value)" /><br /> <input type="button" value="document.all.oDemo" onclick="alert(document.all.oDemo.value)" /><br /> <input type="button" value="document.all.demoform.oDemo" onclick="alert(document.all.demoform.oDemo.value)" /><br /> <input type="button" value="document.forms[0].oDemo" onclick="alert(document.forms[0].oDemo.value)" /><br /> <input type="button" value="document.forms['demoform'].oDemo" onclick="alert(document.forms['demoform'].oDemo.value)" /><br /> <input type="button" value="document.forms['demoform'].childNodes[0]" onclick="alert(document.forms ['demoform'].childNodes[0].value)" /><br /> <input type="button" value="document.forms['demoform'].elements[0]" onclick="alert(document.forms ['demoform'].elements[0].value)" /><br /> <input type="button" value="document.getElementById('oDemo2')" onclick="alert(document.getElementById('oDemo2').value)" /><br /> </form> </body> </html>

推荐整理分享浅谈html中id和name的区别实例代码(html里id),希望有所帮助,仅作参考,欢迎阅读内容。

浅谈html中id和name的区别实例代码(html里id)

文章相关热门搜索词:html id属性什么用,html中的id,html id属性什么用,html id属性什么用,html id,html id属性什么用,html id,html中的id和name,内容如对您有帮助,希望把文章链接给更多的朋友!

CSS布局中可以用javascript判断浏览器版本 if(window.XMLHttpRequest){//Mozilla,Safari,...IE7alert('Mozilla,Safari,...IE7');if(!window.ActiveXObject){//Mozilla,Safari,...alert('Mozilla,Safari');}else{alert('IE7');}}else{alert('IE6');}看看运

htm页面中&lt;a name&gt;加name和id的冲突附解决方法 解决方法用到的核心代码如下下面的代码放到页面的最下面即可scriptlanguage="javascript"varurl=location.href;varurlarr=url.split("#");vartheid=urlarr[1];document.getElementById(

div css nowrap无换行 例如宽度为px的ul里分别有4个li这个4个li的宽度根据它们的自身内容长度为px、px、px、px。我需要的效果是4个li向左自动排列。当第三个li和前

标签: html里id

本文链接地址:https://www.jiuchutong.com/biancheng/375312.html 转载请保留说明!

上一篇:CSS 美化段落文本之首字下沉(css设置段落)

下一篇:CSS布局中可以用javascript判断浏览器版本(css常用布局方式)

  • 季度盈利可以弥补以用以前年度亏损弥补
  • 核定征收需要什么条件和手续
  • 2021小规模纳税人减免增值税
  • 明明申报了为什么显示没有申报
  • 房产税存在往期滞纳金吗
  • 个人非税收入包括哪些
  • 房地产开发企业预收款预缴增值税
  • 个体工商户所得税税率表
  • 异地销售存货如何确定纳税地点
  • 所得税审核费计入什么科目
  • 应交税金审计
  • 单位旧电脑处置
  • 设计服务发票怎么入账
  • 什么时候计提减值
  • 小型微利企业能开多少发票
  • 建筑安装施工过程
  • 跨月退款会计分录
  • 购买工程资质文件怎么写
  • 微信转账记录怎么加回好友?
  • 政府的扶持资金是否缴税
  • 摊销房租费如何做账
  • 债务重组账务处理会计分录
  • 应收账款怎么做分录
  • 已计提的存货跌价准备计入成本吗
  • win10 待机时间
  • 农村合作社免所得税吗
  • 企业销售折扣在计征所得税时如何处理
  • php ajax请求
  • node js 安装
  • 微信小程序中如何打开不加检验文件的网页
  • 【第二趴】uni-app开发工具(手把手带你安装HBuilderX、搭建第一个多端项目初体验)
  • web攻防之业务安全实战指南在线阅读
  • 可解释深度学习:从感受野到深度学习的三大基本任务:图像分类,语义分割,目标检测,让你真正理解深度学习
  • 创建command对象
  • 残保金工资总额是计提还是实发
  • 城镇土地使用税减免税政策2023年
  • 财务费用的增加记在哪一方
  • 留购价计入什么费
  • 送货运输费用税率
  • java接口基础知识
  • 织梦使用教程
  • 坏账准备计入科目
  • 高新补助收入属于不征税收入吗
  • 公司亏损后盈利分红
  • 收到员工交来的宿舍费
  • 红字申请单如何打印出来
  • 暂估入库后发票来不了
  • 进项税可以跨年结转吗
  • 股权支付会计处理
  • 年度所得税汇算清缴报告在哪打印
  • 公司员工出差住酒店费用明细有问题怎么办
  • 收到政府土地补偿款账务处理
  • 租赁费计提部分算入印花税吗
  • 员工借款计入
  • 会计凭证传递的基本要求
  • 短期薪酬主要包括
  • 旅游饮食服务企业会计核算的特点包括
  • mysql的操作
  • mysql数据库类型有哪些?如何选择合适的数据类型
  • windows10的改进
  • win7和2008r2
  • dyservice.exe是什么
  • 无法安装windows xp
  • 修改虚拟机中的用户名
  • neotrace.exe - neotrace是什么进程 有什么用
  • win8如何设置
  • win7彻底删除的文件怎么恢复
  • linux系统硬盘分区类型
  • win7操作技巧
  • win7升级win10系统要多久
  • linux iocp
  • jQuery插件ajaxFileUpload使用详解
  • 网页的css
  • vps 备份
  • 安卓编程视频教程
  • 简述javascript中的函数
  • 发票代码如何查询公司
  • 南昌高新税务局上班时间
  • 水产品企业所得税8行免税填税额还是利润
  • 知道金额,税额怎么计算
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设