html中的name和id有啥区别不同?一般情况下使用哪个?还是两个都用?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了html中的name和id有啥区别不同?一般情况下使用哪个?还是两个都用?相关的知识,希望对你有一定的参考价值。

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('<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与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等等
参考技术A ID就是对象的唯一标示,在所有编程里,都是用来唯一确定对象的,名字则可以同名,ID不可以。。。一般JS要查找某个元素,需要用ID来查找,这时这个标签要定义id属性,这个必须要唯一。。。name通常用来提交表单,作为参数的变量名提交,向服务器提交一个表单元素,实际上只提交两个属性,name和value,id这时候就没用了。。。。
所以用法区别就是,如果某标签需要JS进行操作,那就需要定义ID,如果需要提交服务器,就定义name,如果两件事都没有,那完全可以都不定义,还有一个地方要用ID,那就是CSS样式中,
#样式需要用赋值ID获得该样式。。。。。
参考技术B 一起都可用

感觉和感受怎样解释?两者有啥区别,分别用在啥情况下?

参考技术A

感觉和感受怎样解释?两者有什么区别,分别用在什么情况下?

呵呵,其实很简单,感觉是在事发之前,一般用在对事或对物的直观印象或预感;感受是在事发之后,对事或对物的评价或感触!希望对你有帮助!

担任、担当、当选三词有什么区别?分别用在什么情况下?

我觉得三个次意思接近,都是负责某些职责,我认为不同的在于“担任”的职责比较普通,随便一个职责都可以用担任;“担当”的职责比较有责任性,有专门负责某些原则性职责的意思,如销售经理啊这种,另外,“担当”还可以用作名字,比如这个人有“担当”,又或者“营业担当”(小日本的职位,中国翻译过来是这样);“当选”的职责一般比较有荣誉性,比如大家推选出的一些职位,人大代表啊什么的。

QT中LineEdit TextEdit PlainTextEdit 这三个控制元件有什么区别,分别用在什么情况下呢。

QLineEdit是单行文字输入,一般用于使用者名称、密码等少量文字互动地方。
QTextEdit用于多行文字,也可以显示HTML格式文字。
QPlainTextEdit与QTextEdit很像,但它多用于需要与文字进行处理的地方,而QTextEdit多用于显示,可以说,QPlainTextEdit对于plain text处理能力比QTextEdit强。

in,on,at区别与用法,分别用在什么情况下

表时间,in 年月 on 日 at 点
表地点 in 街道 ,on 街区 at 几号

Speak ,和say 有什么区别?分别在什么情况下怎么使用?

▲ say一般作及物动词用,着重说话的内容,Please say it in English. 请用英语用。
▲ speak强调说的动作,不强调所说的内容 Can you speak Japanese? 你会说日语吗?

love 和loves有什么区别,loves 一般用在什么情况下

love 当动词用时,+s 是修饰第三人称单数的用法,不+s就是原型了。可以直接用,最简单的 eg:I love she,but she loves him.
love 当名词用时,就是单复数的差别了,单数用love,复数用loves

to-day 和 today 有什么区别?分别在什么情况下使用?

你确定前面那个不是day-to-day?如果不是,那么这两个是一个词

Handlebars 和angularjs有什么区别?分别在什么情况下使用

1、Handlebars是一个Javascript模板引擎只是一个类库
2、angularjs是一个Javascript框架

日食和月食有什么区别?两者在什么情况下形成?

月相
Moon,phases of
因月球靠反射阳光发亮,它与太阳相对位置不同(黄经差),便会呈现出各种形状。如图所示,在位置a,日月黄经差为0°,即称朔或新月,这时月球以黑暗面对向地球,且与太阳几乎同时出没,故地面上无法见到;c时黄经差90°称上弦,半月形出现在上半夜的西边 夜空中;e时黄经差180°,即是望或称满月,一轮明月整夜可见;g为下弦,黄经差270°,这时的半月只在下半夜出现于东半天空中。朔望盈亏的周期称朔望月,长约29.53059日。
月相是日月黄经差度数(以下的度数就是日月黄经差值)来算的,共划分八种:
新月(农历初一日,即朔日):0度;
上峨嵋月(一般为农历的初二夜左右-------初七日左右):0度----90度;
上弦(农历初八左右):90度;
凸月(农历初九左右-----农历十四左右):90度----180度;
满月(望日,农历十五日夜或十六日左右):180度;
残月(农历十六左右-----农历二十三左右):180度----270度;
下弦(农历二十三左右):270度;
下峨嵋月(农历二十四左右----月末):270度-----360度;
另外,农历月最后一天称为晦日,即不见月亮;
以上有四种为主要月相为:新月(农历初一日),上弦(农历初八左右),满月(农历十五日左右),下弦(农历二十三左右),它们都有明确的发生时刻,是经过精密的轨道计算得出的;
如何识别月相
假设满月是一个圆形,那么无论月相如何变化,它的上下两个顶点的连线都一定是这个圆形的直径(月食的时候月相是不规则的)。当我们看到的月相外边缘是接近C字母形状时,那么这时的月相则是农历十五日以前的月相,相反,当我们看到的月相外边缘是接近反C字母形状时,那么这时的月相则是农历十五日以后的月相。
歌诀:月相变化歌
初一新月不可见,只缘身陷日地中。
初七初八上弦月,半轮圆月面朝西。
满月出在十五六,地球一肩挑日月。
二十二三下弦月,月面朝东下半夜。
日食是月球绕地球转到太阳和地球中间时,如果太阳、月球、地球三者正好排成或接近一条直线,月球挡住了射到地球上去的太阳光,月球身后的黑影正好落到地球上,这时发生日食现象。在地球上月影里的人们开始看到阳光逐渐减弱,太阳面被圆的黑影遮住,天色转暗,全部遮住时,天空中可以看到最亮的恒星和行星,几分钟后,从月球黑影边缘逐渐露出阳光,开始生光、复圆。由于月球比地球小,只有在月影中的人们才能看到日食。月球把太阳全部挡住时发生日全食,遮住一部分时发生日偏食,遮住太阳中央部分发生日环食。发生日全食的延续时间不超过7分31秒。日环食的最长时间是12分24秒。我国有世界上最古老的日食记录,公元前一千多年已有确切的日食记录。
日食、月食是光在天体中沿直线传播的典型例证。月亮执行到太阳和地球中间并不是每次都发生日食,发生日食需要满足两个条件。其一,日食总是发生在朔日(农历初一)。也不是所有朔日必定发生日食,因为月球执行的轨道(白道)和太阳执行的轨道(黄道)并不在一个平面上。白道平面和黄道平面有5°9′的夹角。如果在朔日,太阳和月球都移到白道和黄道的交点附近,太阳离交点处有一定的角度(日食限),就能发生日食,这是要满足的第二个条件。
由于月球、地球执行的轨道都不是正圆,日、月同地球之间的距离时近时远,所以太阳光被月球遮蔽形成的影子,在地球上可分成本影、伪本影(月球距地球较远时形成的)和半影。观测者处于本影范围内可看到日全食;在伪本影范围内可看到日环食;而在半影范围内只能看到日偏食。
日全食发生时,根据月球圆面同太阳圆面的位置关系,可分成五种食象:1.初亏。月球比太阳的视运动走得快。日食时月球追上太阳。月球东边缘刚刚同太阳西边缘相“接触”时叫做初亏,是第一次“外切”,是日食的开始;2.食既。初亏后大约一小时,月球的东边缘和太阳的东边缘相“内切”的时刻叫做食既,是日全食的开始,这时月球把整个太阳都遮住了;3.食甚。是太阳被食最深的时刻,月球中心移到同太阳中心最近;4.生光。月球西边缘和太阳西边缘相“内切”的时刻叫生光,是日全食的结束;从食既到生光一般只有二三分钟,最长不超过七分半钟;5.复圆。生光后大约一小时,月球西边缘和太阳东边缘相“接触”时叫做复圆,从这时起月球完全“脱离”太阳,日食结束。
月球表面有许多高山,月球边缘是不整齐的。在食既或者生光到来的瞬间月球边缘的山谷未能完全遮住太阳时,未遮住部分形成一个发光区,像一颗晶莹的“钻石”;周围淡红色的光圈构成钻戒的“指环”,整体看来,很像一枚镶嵌著璀璨宝石的钻戒。有时形成许多特别明亮的光线或光点,好像在太阳周围镶嵌一串珍珠,称作倍利珠(倍利是法国天文学家)。
无论是日偏食、日全食或日环食,时间都是很短的。在地球上能够看到日食的地区也很有限,这是因为月球比较小,它的本影也比较小而短,因而本影在地球上扫过的范围不广,时间不长,由于月球本影的平均长度(373293公里)小于月球与地球之间的平均距离 (384400公里),就整个地球而方,日环食发生的次数多于日全食。

target to 与target at有什么区别,分别在什么情况下使用

    target:触发事件的元素。 currentTarget:事件系结的元素。 两者在没有冒泡的情况下,是一样的值,但在用了事件委托的情况下,就不一样了,例如: fsda ewre qewe xvc 134 document.getElementById(“ulT”)。

    例句:He made it his object in life to find the island.他把找到那座岛屿当成自己的人生目标。

    target 一般只是是方向性的指示,比如射击时瞄准,目标客户群体。objective 可指想达到的指标、任务等;比如年度任务目标,长期方针,这种情况下一般不用 target,只用objective,但 objective 有时也可像 target 一样使用。

    objective与object基本同义,但语义更广泛,指具体或很快能达到的目的,也可指军事目标。书面用词。

以上是关于html中的name和id有啥区别不同?一般情况下使用哪个?还是两个都用?的主要内容,如果未能解决你的问题,请参考以下文章

HTML 中的name属性和id属性有啥区别?

html中,id,name,class之间的有啥区别?

html 中 <a>标签里面的id 和 name 有啥区别

docker中的图层和图像有啥区别?

在标签和输入上使用 id 标签有啥区别? [复制]

感觉和感受怎样解释?两者有啥区别,分别用在啥情况下?