HTML中id、name、class 区别

HTML 基础知识:HTML 中的类、ID 和名称 假设,在上面的例子中;用于标识一组具有某些相似性的元素(例如,具有相同样式的元素或具有相同功能的元素)。的元素,我们给它一个红色的背景色。这不会引发任何警告,因为具有相同类名的不同元素是正常的。id 对于 HTML 页面中的每个元素都是唯一的,而多个元素可以具有相同的类。我们经常需要针对一个特定的元素或一组特定的元素来实现不同的功能,如样式。如果我们尝试为文档中的两个不同元素提供相同的 id,我们将收到警告。使用 id,我们可以轻松地使用 CSS 定位元素并操纵它们的样式。因此,假设我们要更改元素的背景。 阅读详情

HTML 中 id与name 区别

一个name可以同时对应多个控件,比如checkbox和radio

而id必须是全文档中唯一的


id的用途
1) id是HTML元素的Identity,主要是在客户端脚本里用。

2) label与form控件的关联,如

<label for="MyInput">My Input</label>
<input
 id="MyInput" type="text">
for属性指定与label关联的元素的id,不可用name替代

3)脚本中获得对象:IE支持在脚本中直接以id(而不是name)引用该id标识的对象。

例如上面的input,要在脚本中获得输入的内容,可以直接以 MyInput.value来获得。如果用DOM的话,则用document.getElementById("MyInput").value;

如果要用name的话,通常先得到包含控件的form,例如document.forms[0],然后从form再引用name,注意这样得到的是经过计算后将发送给服务器的值



name的用途

1)主要是用于获取提交表单的某表单域信息, 作为可与服务器交互数据的HTML元素的服务器端的标示,比如input、select、textarea、框架元素(iframe、frame、 window的名字,用于在其他frame或window指定target )和button等,这些元素都与表单(框架元素作用于form的target)提交有关,浏览器会根据name来设定发送到服务器的request, 在表单的接收页面只接收有name的元素, 所以赋ID的元素通过表单是接收不到值的。 我们可以在服务器端根据其Name通过Request.Params取得元素提交的值。在form里面,如果不指定name,就不会发送到服务器端。

2)HTML元素Input type='radio'分组,我们知道radio button控件在同一个分组类,check操作是mutex的,同一时间只能选中一个radio,这个分组就是根据相同的name属性来实现的。

3)建立页面中的锚点,我们知道<a href="URL">link</a>是获得一个页面超级链接,如果不用href属性,而改用name,如:<a name="PageBottom"></a>,我们就获得了一个页面锚点,如<strong><a name="1" id="1"></a>Experience (XP)</strong>,详见 示例

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">。

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

< script language ="JavaScript" >
var input = document_createElement_x('INPUT');
input.id = 'myId';
input.name = 'myName';
alert(input.outerHTML);
</ script >

消息框里显示的结果是:<INPUT id=myId>


< script language ="JavaScript" >
var input = document_createElement_x(' < INPUT name = " myName " > ');
input.id = 'myId';
alert(input.outerHTML);
</ script >

消息框里显示的结果是:<INPUT id=myId name=myName>

 

 

name与id 区别

id要符合标识的要求,比如大小写敏感,最好不要包含下划线(因为不兼容CSS)。而name基本上没有什么要求,甚至可以用数字。table、tr、td、div、p、span、h1、li等元素一般用id。与表单相关的元素也可以赋ID值, 但为这些元素赋ID值的时候引用这些元素的方法就要变一下了,具体的如下:

赋name时,引用元素的方式: document.formName.inputName 或 document.frames("frameName")
赋id时,引用元素的方式: document.all.inputID 或 document.all.frameID
除去与表单相关的元素,只能赋id不能赋name,这些元素有body、li、a、table、tr、td、th、p、div、span、pre、dl、dt、dd、font、b等等

 


CSS 中 id、class属性的区别

 

1)class是设置标签的类,用于指定元素属于何种样式的类。在CSS样式中以小写的“点”及“.”来命名,在html页面里则以class="css5" 来选择调用,命名好的CSS又叫css选择器。
如: .css5{属性:属性值;} 选择器在html调用为“<div class="css5">我是class例子</div>
  .baobao { color: lime; background: #ff80c0 }
  使用方法:class="
baobao"

2)id是设置标签的标识。用于定义一个元素的独特的样式。在CSS样式定义的时候 以“#”来开头命名id名称
如一个CSS规则:
 #binbin { font-size: larger }
  使用方法:id="
binbin"
id是一个标签,用于区分不同的结构和内容,就象你的名字,如果一个屋子有2个人同名,就会出现混淆;

3)css里的id用法与class用法一样,只是把class换成id。如例子:
在CSS样式定义ID

#css5 {height:25px; width: 200px;}

调用ID :

<div id="css5">我是ID例子</div>
class是一个样式,可以套在任何结构和内容上,就象一件衣服。

4)概念上说就是不一样

id是先找到结构/内容,再给它定义样式;class是先定义好一种样式,再套给多个结构/内容。

(1) 一个class是用来根据用户定义的标准对一个或多个元素进行定义的。打个比较恰当的比方就是剧本:一个class可以定义剧本中每个人物的故事线,你可以通过cSS,javascript等来使用这个类。因此你可以在一个页面上使用class="Frodo" ,class= "Gandalf", class="Aragorn"来区分不同的故事线。还有一点非常重要的是你可以在一个文档中使用任意次数的class。
(2) id 通常用于定义页面上一个仅出现一次的标记。在对页面排版进行结构化布局时(比如说通常一个页面都是由一个页眉,一个报头< masthead>,一个内容区域和一个页脚等组成),一般使用ID比较理想,因为一个ID在一个文档中只能被使用一次。而这些元素在同一页面中很少会出现大于一次的情况。
归纳成一句话就是:class可以反复使用而id在一个页面中仅能被使用一次。


有可能在很大部分浏览器中反复使用同一个id不会出现问题,但在标准上这绝对是错误的使用,而且很可能导致某些浏览器的现实问题。
在实际应用的时候,class可能对文字的排版等比较有用,而id则对宏观布局和设计放置各种元素较有用。
<<id具有唯一性,而class是一个类,适用于可多次重复使用的容器>>

 


关于ID和Name的一些注意事项

当然HTML元素的name属性在页面中也可以起那么一点id的作用,因为在DHTML对象树中,我们可以使用document.getElementsByName来获取一个包含页面中所有指定name元素的对象数组。


如果页面中有n(n>1)个HTML元素的id都相同了怎么办?在DHTML对象中怎么引用他们呢?

如果我们使用ASPX页面,这样的情况是不容易发生的,因为asp.net进程在处理aspx页面时根本就不允许有ID非唯一,这是页面会被抛出异常而不能被正常的render。


但如果不是动态页面,我们硬要让id重复那IE怎么做呢?

这个时候我们还是可以继续使用document.getElementById获取对象,只不过我们只能获取id重复的那 些对象中在HTML Render时第一个出现的对象。而这时重复的id会在引用时自动变成一个数组,id重复的元素按Render的顺序依次存在于数组中,数组的脚下标依次表示id出现的先后顺序。

前端学习(2411):name属性的作用 先纠正一下,这个问题的标题和内容不是一个问题,这里应该是涉及到两个知识点: 组件的 name 路由的 name 下面我分别解释一下。 组件的 name 参考链接:https://router.vuejs.org/zh/guide/essentials/named-routes.html 组件的 name 是组件对象中的一个配置选项,类似于下面这样: export default { name: 'App', data () { return {} }, method 阅读详情

相关推荐

STM32F103RC学习(一)

STM32F103RC学习(一)

Cat_South_North的博客 6057

HTML id 属性

Html 的id属性指定 HTML 元素的唯一 ID。id属性的值在 HTML 文档中必须是唯一的。

qq_60212533的博客 4139

【AutoDL】使用云服务器跑深度学习代码

1.算力市场 租用服务器,选择自己心仪的服务器2.镜像可以选择一些基础的镜像,社区镜像里是git上有的环境。3.上传文件在文件存储中,选择上传的区,在右边点击上传,选择自己的文件上传到云服务器中。

weixin_45768644的博客 3701

html里name的含义

我们先来了解一下name属性在表单中的定义: name 属性规定 input 元素的名称。 name 属性用于对提交到服务器后的表单数据进行标识 或者在客户端通过 JavaScript 引用表单数据。 注释:只有设置了 name 属性的表单元素才能在提交表单时传递它们的值。 如果你页面上有两个radio是让用户来选择性别的话,如果你没给这两个按钮设置name属性,那么你可以试试它是个什么效果。radio是能用来让用户选择性别的,一般选择性别时只能选一个,如果你不把这两个radio的name不设成相同的话,

qq_41348629的博客 5739

别再到处找数据了!用Python+Tushare Pro免费获取A股行情、财务、龙虎榜数据(附完整代码)

本文详细介绍了如何使用Python和Tushare Pro免费获取A股行情、财务数据和龙虎榜数据,并构建本地金融数据仓库。通过完整的代码示例,帮助读者快速掌握金融数据接口的使用方法,提升量化分析效率。Tushare Pro作为免费、稳定的数据源,覆盖全面且API友好,是个人投资者的理想选择。

weixin_30596343的博客 617

51雾化器实现

1. 雾化器简介 雾化器是将试液雾化的一种器械。雾化器是原子化系统的重要部件,其性能对测定的精密度和化学干扰等产生显著影响。因此要求雾化器喷雾稳定、雾滴细小、均匀和雾化效率高。雾化器的类型有超声雾化器,空气压缩式雾化器,网式雾化器。超声雾化器因其价格合适,适合家用,被广泛应用于加湿器,香薰机等各种小家电,也在医疗领域有很多的应用。家用雾化器的主要器件是一枚雾化片。 家用雾化器分为两种不同类别雾化片,实孔雾化片和微孔雾化片,这两种的喷雾方法和工作原理是有所不同的。不同的雾化片需要特定的频率才能工作。 实孔雾

qq_42415953的博客 2万+

HTML中id name class 区别

HTML中id name class 区别

qq_43679818的博客 209

Nvidia Tesla A100 驱动安装方法

Nvidia Tesla A100 驱动安装方法 遇到的问题:以前安装tesla系列、geforce系列等gpu 驱动的时候,只需执行nvidiaxxxx.run驱动包或者安装nvidiaxxxx.rpm包即可,但遇到新的GPU Nvidia Tesla A100的时候,安装完驱动似乎不起作用,找了半天资料,原来需要以下步骤才可以使用;

qq_24343177的博客 2万+

HTML中name和class,id的区别和联系

name属性用于标识表单元素;class属性用于为一个或多个元素指定类名,以便共享样式和脚本;id属性用于唯一标识一个特定的元素,方便选择和操作。在HTML中,name、class和id是用于标识和选择元素的属性。

m0_74293254的博客 2665

YOLOv8+SAM强强联合:用分割“喂“检测,复杂背景下作物AP从72%干到77.7%,杂草误检降60%

目标与背景高度相似:如农业(作物vs杂草)、工业(零件vs台面)、医学(病灶vs正常组织);遮挡严重的场景:如密集人群(人被遮挡)、森林(树木被枝叶遮挡);小目标密集场景:如无人机航拍(远处小目标易混背景)。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 793

【Com通信】Com模块的事件帧发送及周期报文的快慢发送机制

Com模块的事件帧发送及周期报文的快慢发送机制

qq_36056498的博客 2334

HTML之id选择器、class选择器及name属性区别

  最近做网站的时候,经常搞不清id、class和name之间的区别,于是就在网上搜集资料学习,整合出下面的版本,以防自己忘记的同时帮助到有需求的人。    id选择器   唯一标识一个元素的,只能针对某一个样式进行控制即在同一个HTML页面只能调用一次,具有唯一性。id选择器是以 “ # ” 开头。   eg.  CSS定义 #headerline1 {width: 100%;height: 8...

Simon_LHM的博客 2780

玩转大语言模型——使用华为官方MindIE-Server镜像方式部署DeepSeek模型

本文将详细介绍在国产Linux系统欧拉中使用华为官方MindIE-Server镜像方式部署DeepSeek模型。一般情况下华为昇腾800I服务器可以推理DeepSeek-R1-70B,4张300I-Duo服务器可以推理DeepSeek-R1-32B。在配置中尽量贴合官方文档,包含用到的一些其他的技术细节,便于零基础入门使用。

艾醒的博客 1289

html中classname的作用,科技常识:HTML中name、id、class的区别介绍

今天小编跟大家讲解下有关HTML中name、id、class的区别介绍 ,相信小伙伴们对这个话题应该有所关注吧,小编也收集到了有关HTML中name、id、class的区别介绍 的相关资料,希望小伙伴们看了有所帮助。在一个页面中 有许多的控件(元素或标签)。为了更方便的操作这些标签 就需要给这些标签标识一个身份牌。在html中有name、id、class等属性区分一个元素 下面我们就来看一下这几种...

weixin_29094979的博客 1920

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

HTML name、id、class 的区别

HTML name、id、class 的区别   在一个页面中,有许多的控件(元素或标签)。为了更方便的操作这些标签,就需要给这些标签标识一个身份牌。 目录 1. name :指定标签的名称。 2. id :指定标签的唯一标识。 3. class :指定标签的类名。 1. name 指定标签的名称。 1.1 格式 <input type="text" name="username" />

我是guyue,guyue就是我O(∩_∩)O 736

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

HTML中属性name、id、class三者之间的区别

name:主要是用于获取提交表单的某表单域信息, 作为可与服务器交互数据的HTML元素的服务器端的标示,比如input、select、textarea、框架元素(iframe、frame、 window的名字,用于在其他frame或window指定target )和button等,这些元素都与表单(框架元素作用于form的target)提交有关,浏览器会根据name来设定发送到服务器的reques...

枕头 1万+

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

html中class与id的区别,HTML、CSS里面关于 id、class、name 属性的区别和用法

name和idname原来是为了标识之用,但是现在根据规范,都建议用id来标识元素。以下只能用name:1.表单(form)的控件名,提交的数据都用控件的name而不是id来控制。因为有许多name会同时对应多个控件,比如checkbox和radio,而id必须是全文档中唯一的。此外浏览器会根据name来设定发送到服务器的request。因此如果用id,服务器是无法得到数据的。2. fram...

weixin_29775951的博客 704
上一篇: 我看AutoEventWireup
下一篇: c语言中static 函数和普通函数的区别?
junboyboy
博客等级 码龄15年 12粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值