细说HTML元素的ID和Name属性的区别[ZT]

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情
    可以说几乎每个做过Web开发的人都问过,到底元素的ID和Name有什么区别阿?为什么有了ID还要有Name呢?! 而同样我们也可以得到最classical的答案:ID就像是一个人的身份证号码,而Name就像是他的名字,ID显然是唯一的,而Name是可以重复的。

    上周我也遇到了ID和Name的问题,在页面里输入了一个input type="hidden",只写了一个ID='SliceInfo',赋值后submit,在后台用Request.Params["SliceInfo"]却怎么也去不到值。后来恍然大悟因该用Name来标示,于是在input里加了个Name='SliceInfo',就一切ok了。

    第一段里对于ID和Name的解答说的太笼统了,当然那个解释对于ID来说是完全对的,它就是Client端HTML元素的Identity。而Name其实要复杂的多,因为Name有很多种的用途,所以它并不能完全由ID来代替,从而将其取消掉。具体用途有:

    用途1: 作为可与服务器交互数据的HTML元素的服务器端的标示,比如input、select、textarea、和button等。我们可以在服务器端根据其Name通过Request.Params取得元素提交的值。
    用途2: HTML元素Input type='radio'分组,我们知道radio button控件在同一个分组类,check操作是mutex的,同一时间只能选中一个radio,这个分组就是根据相同的Name属性来实现的。
    用途3: 建立页面中的锚点,我们知道<a href="URL">link</a>是获得一个页面超级链接,如果不用href属性,而改用Name,如:<a name="PageBottom"></a>,我们就获得了一个页面锚点。
    用途4: 作为对象的Identity,如Applet、Object、Embed等元素。比如在Applet对象实例中,我们将使用其Name来引用该对象。
    用途5: 在IMG元素和MAP元素之间关联的时候,如果要定义IMG的热点区域,需要使用其属性usemap,使usemap="#name"(被关联的MAP元素的Name)。
    用途6: 某些特定元素的属性,如attribute,meta和param。例如为Object定义参数<PARAM NAME = "appletParameter" VALUE = "value">或Meta中<META NAME = "Author" CONTENT = "Dave Raggett">。

    显然这些用途都不是能简单的使用ID来代替掉的,所以HTML元素的ID和Name的却别并不是身份证号码和姓名这样的区别,它们更本就是不同作用的东西。

    当然HTML元素的Name属性在页面中也可以起那么一点ID的作用,因为在DHTML对象树中,我们可以使用document.getElementsByName来获取一个包含页面中所有指定Name元素的对象数组。Name属性还有一个问题,当我们动态创建可包含Name属性的元素时,不能简单的使用赋值element.name = "..."来添加其Name,而必须在创建Element时,使用document.createElement('<element name = "myName"></element>')为元素添加Name属性。这是什么意思啊?看下面的例子就明白了。

<script language="JavaScript">
var input = document.createElement('INPUT');
input.id = 'myId';
input.name = 'myName';
alert(input.outerHTML);
</script>
    消息框里显示的结果是:<INPUT id=myId>。

<script language="JavaScript">
var input = document.createElement('<INPUT name="myName">');
input.id = 'myId';
alert(input.outerHTML);
</script>
    消息框里显示的结果是:<INPUT id=myId name=myName>。
    初始化Name属性的这个设计不是IE的缺陷,因为MSDN里说了要这么做的,可是这样设计的原理什么呢?我暂时没有想太明白。

    这里再顺便说一下,要是页面中有n(n>1)个HTML元素的ID都相同了怎么办?在DHTML对象中怎么引用他们呢?如果我们使用ASPX页面,这样的情况是不容易发生的,因为aspnet进程在处理aspx页面时根本就不允许有ID非唯一,这是页面会被抛出异常而不能被正常的render。要是不是动态页面,我们硬要让ID重复那IE怎么搞呢?这个时候我们还是可以继续使用document.getElementById获取对象,只不过我们只能获取ID重复的那些对象中在HTML Render时第一个出现的对象。而这时重复的ID会在引用时自动变成一个数组,ID重复的元素按Render的顺序依次存在于数组中。
Operator:面向真实网页的AI任务代理与浏览器自动化新范式 AI任务代理(Agent)正从‘理解文本’迈向‘操作数字世界’,其核心能力在于跨系统、抗干扰、可验证的自动化执行。区别于传统RPA或Chatbot,现代Agent需融合大语言模型的规划能力、视觉语言模型的UI理解力,以及鲁棒的浏览器操作引擎,以应对无API、高反爬、动态渲染的真实网页环境。技术价值体现在最小监督下的端到端任务闭环——如自动订票、跨平台数据同步、多源信息聚合等。典型应用场景覆盖企业运营、销售自动化、合规数据采集等重复性高、系统割裂、界面非结构化的数字劳动场景。Operator正是这一演进路径的 阅读详情

相关推荐

uibot - 页面元素属性aaname与innertext的区别

本次例子用到csdn官网:https://www.csdn.net/ 1、假设现在需要点击如下图中的 “开源” 元素 2、通过页面分析可以看出它是一个LI标签包裹一个a标签,a标签中含有“开源”文本 3、因为获取下来的文本除了开源外含有多个空格,所以使用*通配目标得出如下代码,通过运行检验是可以成功点击目标 4、替换为innertext,通过运行检验是可以成功点击目标 5、替换tag目标为LI 分别运行命令,发现修改tag:LI aaname:"开源"查找元素失败报错 6、总结 innertex

oiihie的博客 2202

HTML 元素中的name 属性

用户名:美国

suimingbo的博客 4125

【UIpath杂谈】Selector中使用变量去抓取数据

最近一直在学习,所以就没有更新博客,今天接触了新的项目,学到了新的内容,所以想立刻分享出来。 与网站爬取数据有关,有些时候,一些后端网站需要爬取的数据是数据表的形式,而Data Scraping不能识别,这个时候就需要一个一个抓取的时候该怎么处理 建议抓取时最先使用Data Scraping去尝试,这个绝对是最好用的,实在不行再去尝试其他方法。 这是后端平台的一张数据表,我想要抓取其位置信息(假设Data Scraping不能正常执行) 那就使用Get Text去一个一个...

糯米w的博客 3024

Html5中的idname以及class属性的理解

       在学习web前端中html的时候,当用到一些比较好的编辑器的时候,总会自动跳出一些属性,其中就有IDname、class,开始的傻傻分不清,当学了cssjs之后,慢慢的有了感觉,现在把我个人对这三个属性的理解写出来,如有错误,请批评指正。 1   idname、class属性是什么? (1)idhtml页面中元素的唯一标示,属性值在页面中不能重复,每个元素id不同,可以...

weixin_43625495的博客 4756

JavaScript—Dom

一、查询节点 通过id获取元素:getElementByld() 通过标签名获取节点列表:getElementsByTagName() 通过类名获取节点列表:getElementsByClsaaName() 通过名称获取列表:getElementsByName() 通过css选择器获取节点:querySelector() 通过css选择器获取节点列表:querySelectorAll() //通过id获取元素 var dom = document.getElementById("dom");

wbh_ABC的博客 263

htmlnameid区别 [ZT]

name=id一个microsoft的 一个是netscape的都是标记对象名称 --------------------------------------------------------------- 表单元素(form input textarea select)与框架元素(iframe frame)用 name 这些元素都与表单(框架元素作用于form的t...

weixin_33971205的博客 81

HTMLid name 属性区别

在 Web 开发中,前端 HTML 元素idname属性在与后端进行通讯时有不同的作用用途。id

u010674101的专栏 2296

react之jsx语法规则

开始之前也没什么,先说点别的,前段事件一直在忙找工作这件事,所以对于学习新的知识这块也耽误了不少,不过还好,最终进入了一家不错的公司,公司名就不说了,技术太菜,怕你找到我,当面Diss我!!! ​ 公司用的是react,对于我这样一直用Vue的人来说,并不是十分的友好,毕竟,当面对一个新的事物的时候,我们总要花一番经历去进行了解他,所以,我就开始了!!!但…加油吧! 希望在之后的日子里,能够时常更新! 定义虚拟DOM时,不要写引号 标签中混入JSX表达式时,要用{} 样式的类名不要用cla

李耀书 268

html name属性作用,HTMLname属性有什么用途

HTMLname属性有什么用途发布时间:2020-11-18 11:04:55来源:亿速云阅读:142作者:小新这篇文章主要介绍HTMLname属性有什么用途,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!本篇文章主要介绍了html中表单的name属性介绍,有基础的定义实例效果图,还有html中的name属性的作用解释,还有表单中的name属性的实例介绍。我们先来了解一...

weixin_42122878的博客 3919

细说HTML元素IDName属性区别[摘]

文章出处:http://lanting.mblogger.cn/posts/36127.aspx可以说几乎每个做过Web开发的人都问过,到底元素IDName有什么区别阿?为什么有了ID还要有Name呢?! 而同样我们也可以得到最classical的答案:ID就像是一个人的身份证号码,而Name就像是他的名字,ID显然是唯一的,而Name是可以重复的。    上周我也遇到了IDName的问题,

fbysss的专栏 1716

RPA教学——高手过招第 4 期:根据文字点击链接

了解RPA: www.i-search.com.cn 学习RPA https://support.i-search.com.cn/ 下载RPA: https://www.i-search.com.cn/?from=csdn 一、题目 根据文字点击百度首页导航栏, 例如传入“学术”,流程便点击导航栏中的学术。 网址:https://www.baidu.com/ 二、Chrome 拾取与 IE 拾取的区别 IE 拾取是根据 css selector 对目标网页中的元素进行匹配 三、IE 浏览器解题 找规

weixin_44447687的博客 660

细说HTML元素IDName属性区别

    可以说几乎每个做过Web开发的人都问过,到底元素IDName有什么区别阿?为什么有了ID还要有Name呢?! 而同样我们也可以得到最classical的答案:ID就像是一个人的身份证号码,而Name就像是他的名字,ID显然是唯一的,而Name是可以重复的。    上周我也遇到了IDName的问题,在页面里输入了一个input type="hidden",只写了一个ID='SliceI...

weixin_34274029的博客 263

HTML元素IDName属性区别

细说HTML元素IDName属性区别细说HTML元素IDName属性区别可以说几乎每个做过Web开发的人都问过,到底元素IDName有什么区别阿?为什么有了ID还要有Name呢?! 而同样我们也可以得到最classical的答案:ID就像是一个人的身份证号码,而Name就像是他的名字,ID显然是唯一的,而Name是可以重复的。上周我也遇到了IDName的问题,在页面里

小猪的Blog 1254

JavaScript:htmlname属性id属性区别

name属性id属性的比较分析 htmlnameid可以类比身份证的姓名身份证编号 其中编号id具有唯一性. 一个id只出现一次。 名称name具备可重复性,可以多次出现。 在css中两者都具备识[html元素的作用,name用点号.表示,id用井号# 一般name用于通用多次出现元素的样式定义,id用于唯一性元素样式定义。 在表单当中,由于有些控件具备多元素特性,例如radio checkbox等,使用id不便于表单数据的提交,此外浏览器会根据name来设定发送到服务器的request..

得不到的永远是骚栋. 762

HTML属性ID属性NAME有何区别

今天出美工面试题的时候,David让我加上一道题:HTMLidname区别。一听对呀,HTMLidname有什么区别,只是平时在用,倒没怎么想过,只是那么用了罢了,呵呵,其实在做网页的时候有很东西都只是那么的用了,而没有考虑为什么那么用了...     有同道中人说“ID就像是一个人的身份证号码,而Name就像是他的名字,ID显然是唯一的,而Name是可以重复的。”

Anglebeat的专栏 1万+

select控件 nameid属性

把下面程序写在记事本里,保存为.html文件,看效果     1     2     3     4               1     2     3     4               1     2     3     4               1     2     3     4                function   chk(){     var   s

G-Ohand 1万+

Mac上OpenClaw 2026版安装全攻略:依赖配置、模型接入与排错指南

AI代理框架正在成为自动化任务的新范式,它让机器不再只是被动响应,而是能主动调用工具、拆解目标并完成复杂流程。OpenClaw作为典型的代理框架,在本地部署时对运行环境、模型服务与渠道接入有更高要求。在Mac平台上,依赖Homebrew、Git、Python、Node.js与Docker等组件的协同配置,再通过Ollama或云端API完成模型对接,才能让框架稳定运行。容器化部署配合数据持久化,为后续接入微信、飞书等消息渠道提供了干净的可扩展底座。本文基于Mac实测,梳理2026版OpenClaw从依赖环境搭

weixin_33951761的博客 171

标签中的name属性ID属性区别

编程这么久,细想了一下,发现这个问题还不是很清楚,汗!看了几篇文章,整理了一下,分享下!      一个朋友如是的说到“ID就像是一个人的身份证号码,而Name就像是他的名字,ID显然是唯一的,而Name是可以重复的”我感觉很贴切!【但是太笼统哦,下面细细讲一下!】具体的将“ID是Client端HTML元素Identity。而Name其实要复杂的多,因为Name有很多种的用途,所以它并不能完全由...

Tssit的个人博客 5880
下一篇: C#开发的两个原则的深入讨论
Hpan
博客等级 码龄21年 0粉丝 1原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值