当前位置:首页 » 网页前端 » 前端的id为什么要具有唯一性
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

前端的id为什么要具有唯一性

发布时间: 2022-11-28 04:43:39

① css中id选择器不是只能用一次吗,但是这个就用了两次。如图。。。

你理解错了。

css里,id选择器可以无限次数使用,并且可以写一样的。

你在网上听别人说不能多次使用,应该是出现2个以上同名的id选择器吧。

例如都是id="div1"

<divid="div1"></div>
<divid="div1"></div>

其实这样写,在css里是可以的。但如果页面涉及到js,就不好了。因为js里获取DOM是通过getElementById,而如果页面出现同一个id几次,这样就获取不到了。所以id要有唯一性。

最后,成熟网站里,你很少看到css里用id选择器的,都是用class,id选择器留给写js的人用,这样避免冲突。

② jsCategoryld是什么意思

摘要 表示js数组与对象,Category(范畴)的本质:

③ css中的类样式和id样式

.xxx 为 class 类
#xxx 为 id

id 具有唯一性,就是说你某个页面中 id 只应该出现一次,比如你有个导航栏名字考虑叫 nav,而你整个页面上这个导航栏只出现一次就该用 id,那么就叫:#nav

而 class 类是用在重复出现的地方,比如你页面中有n个地方都有红色的标题字反复出现,那就用 class 定义个类,假设叫:.red{color:red;},然后在要用红色字的标签上添加这个类即可。

id 唯一性只是语法上的规范,实际上你一个页面中出现两次以上同一个 id ,浏览器还是能够正确解析。

④ js通过id获取元素的子级元素的奇怪现象

这是因为ID是具有全局唯一性的,也就是说同一个页面是不允许出现相同ID的元素的(当然你在html中可以设定相同的id,但js只能定位到第一个),所以要想通过id来获取页面元素,只需要全局定位(即document.getElementById)即可,不需要在子元素中再来进一步定位。事实上,正是因为上述原因,getElementById是document对象的特有方法,其他对象是没有这个方法的,这就是为什么list.getElementById会提示说不是函数的原因!

⑤ html里name和id的区别

ID和Name都可以用来标识一个标记,Javascript分别有两个方法getElementById和getElementByName来定位Dom节点。
区别如下:
1、我们知道在网页做Post提交时,是以Form(即表单域)为单位进行提交的,一个Form里有若干个表单对象(如<input type="text" name="UserName" value="请输入姓名"/>),同一个页面里可以为多个Form(Asp.net不同,它只允许有一个,且名字必须为Form1),在表单表提交到服务器端后,可以直接通过Name属性取到表单域的值,却无法通过ID直接取到该表表单对象的值。
2、同一个Form里不能有多个name属性相同的HTML标记,但如果一个网页中有多个Form,则不同的Form里可以有同个Name属性的标记。而ID是全局的,在一个HTML文档里不能有多个节点使用相同的ID,无论它处在哪个Form里。
3、在建立CSS样式的时候,可以建立ID样式表(以#为前缀),使具有该ID的样式直接应用该样式,而无法建立Name样式表。
4、在进行网页编辑时建议使用ID来标识一个节点,而不是使用Name(除非是为了Post提交的需要),同样使用Javascript进行Dom节点定位时建议使用getElementById方法,因为只有ID能唯一标识一个节点,而同一个网页里可能会有多个Name属性相同的节点,它们分别处在不同的Form里。

⑥ id,name,class的区别

ID具有唯一性,CLASS具有普遍性。
ID是不能重复的,所以在HTML的结构中,大结构一定是用ID。
比如标志、导航、主体内容、版权。这些呢接我自己制定的规范命名为#logo , #nav , #content , #right 这些是雷打不动的命名。

我通过实践总结的使用原则是:ID需要具有唯一性,并且尽量在外围使用。
而CLASS具有可重复性,并且尽量在结构内部使用。这样做的好处是有利于网站代码的后期维护与修改,这样的做法就会让所有的CLASS都成为ID的子级或是孙级。

你可以有两个儿子但你能有两个爸爸吗,就是这个道理。在我们写CSS的时候可以写成这样 #father .child {…} 尽量不要让Class包含ID.ID是唯一的并是父级的,
CLASS是可以重复的并是子级的。

class属性用于指定元素属于何种样式的类.

前端脚本优化为什么要尽量使用id选择器

因为id是保证页面唯一的,这样有利于代码的快速运行不用去进行数组运算。同时也可以增加·代码的可读性。

⑧ js为什么根据id就可以找到容器里的子元素,而根据类名就找不到

因为id是具有唯一性的,就好比身份证号码,一个id只能代表一个子元素,所以用 getElementById 方法可以立刻找到指定的子元素。

而类则不是唯一的,就比如“学生”是一个类,它代表的是一大群人,所以用 getElementsByClassName 方法返回的是一个对象集合而不是单个对象(即使类下面只有一个子元素),因此必须改成 ...getElementsByClassName('bt')[0].children

其实你只要够聪明,你就能从 getElementsByClassName 最中间的那个s想到原因了(s代表复数),而 getElementById 是没有s的!

⑨ HTML里name和ID各是什么意思

html的name和id可以类比身份证的姓名和身份证编号
编号id具有唯一性,一个id只出现一次。
名称name具备可重复性,可以多次出现。
在css中两者都具备识别html元素的作用,name用点号.表示,id用井号#
一般name用于通用多次出现元素的样式定义,id用于唯一性元素样式定义。

在表单当中,由于有些控件具备多元素特性,例如radio checkbox等,使用id不便于表单数据的提交,此外浏览器会根据name来设定发送到服务器的request,因此在表单当中,用name来提交数据。

当然,在实际的html中,也完全可以不用id,用单独的class也可以起到代替id的作用。但是在js中,是无法通过class直接后去html元素的, 定义id便于相关操作。

⑩ 前端界面使用在html中使用id带来的坏处有哪些

1.id是唯一的,如果不小心重名了会有影响
2.对相同的操作用id,会加大代码量,可以用class来代替
3.form表单提交,一般通过name名来获取,不是id