`
moqiang02
  • 浏览: 529106 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
文章分类
社区版块
存档分类
最新评论

一个页面有相同ID元素的情况分析

 
阅读更多
经常会遇到一个页面中有相同定义相同id的情况,从道理上来说,id应该是这个页面中某个元素的唯一标识,所以不应该出现有相同id的情况,否则会产生意想不到的结果。而且各个浏览器的表现也是不一样的。我只做了ie6,chrome和firefox的测试。
代码如下:
<div id="a"><input type="text" id="aa" value="aaaaaaaa"/></div>
<div id="b"><input type="text" id="aa" value="bbbbbbbbb"/></div>
<input type="button" onclick="show()" value="click here" />
<script type="text/javascript" src="http://qustliuyongjie.blog.163.com/blog/jquery.min.js"></script>
<script type="text/javascript">
function show(){
    alert($('#aa').val());(情况一)
    alert($('#a #aa').val());(情况二)
    alert($('#b #aa').val());(情况二)
}
</script>
简单的总结一下:
1、在测试过的所有浏览器下,采用情况一下的方式,也就是直接用id取值的话,浏览器只会返回id相同的第一个元素的值。后面的值不会覆盖前面的值。
2、采用情况二的方式,也就是不同范围内的相同id取值,在ie6下返回的结果是第一个能找到,但是第二个返回的是undefined,也就是说找不到值。但是在chrome和firefox下是可以分别取到两个值的。这就是不同浏览器的区别。
综上所述,在一个页面里尽量的不要出现有相同id的元素。另外,当有相同id的元素时,如果要使用JS/JQuery的函数(innerHTML()、text()等)对id所在元素进行操作,js函数无法使用。
分享到:
评论

相关推荐

    获取jsp中的所有某个标签中所有ID相同的元素

    获取jsp中的所有某个标签中所有ID相同的元素

    div+css有实例,易学易懂

    div+css有实例,易学易懂第1 章 Web 标准布局的本质 第8 页 1.1 为什么要建立Web 标准 1.1.1 建立Web 标准的目的 1.1.2 使用Web 标准的好处 1.2 什么是Web 标准 1.3 内容、结构和表现 1.4 两种思考方式 1.5 Web 标准...

    CSS:相同元素不同结构重复定义的问题

    在这种情况 (针对相同元素在不同结构下的重复定义) 发生的前提下,浏览器在渲染页面文件时,会按照一定规则进行优先级排列,然后根据这个优先级权重对发生状况的元素进行处理. 而这个浏览器遵循的规则是什么呢? 让我们...

    javascript学习笔记(十八) 获得页面中的元素代码

    1.获取元素 getElementById()方法,通过元素的id获取元素,接受一个参数即要获取元素的id,如果不存在这个id返回 null 注意不要让表单元素的name和别的元素的id相同,IE8以下的IE浏览器用这个方法通过元素的name属性...

    前端css+html+布局笔记

    一个页面中有且只有一个根标签 网页中的所有内容都需要写在html标签的内部 网页的头部 该标签中的内容不会在网页中直接显示 该标签用于帮助浏览器解析页面 子标签 用来设置网页的标题 ...

    java面试宝典

    94、元素有一个cascade属性,如果希望Hibernate级联保存集合中的对象,casecade属性应该取什么值?(单选)(D) 22 95、以下哪些属于Session的方法?(A,B,C,D,F) 22 96、Hibernate工作原理及为什么要用? 22 97、...

    Web前端与移动开发之基础选择器.txt

    类选择器好比人的名字 一个人可以有多个名字 同一个名字也可以被多个人使用 id选择器 身份证全国唯一 不能重复 二者使用次数不同 注意: 只要被选择器选中 设置对应的样式均会生效 如果不同的选择...

    获取HTML DOM节点元素的方法的总结

    如果页面上含有多个相同id的节点,那么只返回第一个节点。 如今,已经出现了如prototype、Mootools等多个JavaScript库,它们提供了更简便的方法:$(id),参数仍然是节点的id。这个方法可以看作是document....

    jQuery详细教程

    $("p#demo") 选取 id="demo" 的第一个 &lt;p&gt; 元素。 jQuery 属性选择器 jQuery 使用 XPath 表达式来选择带有给定属性的元素。 $("[href]") 选取所有带有 href 属性的元素。 $("[href='#']") 选取所有带有 href 值等于 ...

    ASP.NET的网页代码模型及生命周期

    Web开发不像软件开发,Web应用实际上是没有状态的,这就说明Web应用程序不自动指示序列中的请求是否来自相同的浏览器或客户端,也无法判断浏览器是否一直在浏览一个页面或者一个站点,也无法判断用户执行了哪个操作...

    前端与移动开发之表单

    ①input是一个单标签 不独占一行 ②name是表单元素名字 要求单选框和复选框都要有相同的name值 value值则不同 ③name和value是每个表单元素都有的属性值 主要给后台人员使用 ④name属性可以自定义...

    工程硕士学位论文 基于Android+HTML5的移动Web项目高效开发探究

    Activity Activity是一个应用程序组件,提供一个屏幕,用户可以用来交互为了完成某项任务,是一个负责与用户交互的组件 SSH 为 Struts+Spring+Hibernate的一个集成框架,是目前较流行的一种Web应用程序开源框架。...

    jpivot学习总结.doc

    foreignKey 外键,对应事实表中的一个列,它通过 &lt;Hierarchy&gt; 元素中的主键属性连接起来。 3.4. Hierarchy 你一定要指定其中的各种关系 , 如果没有指定 , 就默认 Hierarchy 里面装的是来自立方体中的真实表 . ...

    javascript获取网页中指定节点的父节点、子节点的方法小结

    我们在实际的开发当中...如果页面上含有多个相同id的节点,那么只返回第一个节点。 如 今,已经出现了如prototype、Mootools等多个JavaScript库,它们提供了更简便的方法:$(id),参数仍然是节点的id。这个 方法可以看

    JavaScript获取DOM元素的11种方法总结

    在Web应用程序特别是Web2.0程序开发中,经常要获取页面中某个元素,然后更新该元素的样式、内容等。...如果页面上含有多个相同id的节点,那么只返回第一个节点。 如今,已经出现了如prototype、Mootools等多个Jav

    PHP基础教程 是一个比较有价值的PHP新手教程!

    可能你已经注意到,变量都有一个美元符号($)的前缀。所有变量都是局部变量,为了使得定义的函数中可以使用外部变量,使用global语句。而你要将该变量的作用范围限制在该函数之内,使用static语句。 $g_var = 1 ; /...

    XML轻松学习手册--XML肯定是未来的发展趋势,不论是网页设计师还是网络程序员,都应该及时学习和了解

    在XML文档中,我们可以将每一个标识元素看作一个对象---它有自己的名称和属性。 XML创建了标识,而DOM的作用就是告诉script如何在浏览器窗口中操作和显示这些标识 上面我们已经简要的讲述了一些XML的基本原理,...

    网页自动刷新单击工具 v2.0.zip

    (8) 网址自动加载功能:单击“运行”按钮后,程序会弹出一个浏览器窗口,按顺序加载列表中的所有网址并逐个单击指定ID 的网页元素,浏览器窗口可以查看加载进度,加载完成后会自动退出浏览器窗口,运行前可以设置...

    EXTJS总结.txt

    可以是插入一个元素,也可以是创建一个元素(要创建的话请使用“DomHelper配置项对象”作为参数传入),总之,这个元素作为当前元素的第一个子元素出现。 var el = Ext.get('elId1'); // 插入的dom节点作为第一个...

    Js 获取HTML DOM节点元素的方法小结

    如何获取要更新的元素,是首先要解决的问题。...如果页面上含有多个相同id的节点,那么只返回第一个节点。 如今,已经出现了如prototype、Mootools等多个JavaScript库,它们提供了更简便的方法:$(id),参数仍然

Global site tag (gtag.js) - Google Analytics