document.getElementById的一些细节
① document.getElementById 有时会抓name放过了id ,据说是IE的一个BUG;
http://community.csdn.net/Expert/topic/4223/4223888.xml?temp=.1947443
页面中有
程序代码
<input type="hidden" id="hello8" name="category_id" value="2" />
<select id="category_id" onchange="al();">
一个是name="category_id" 一个是id="category_id"
用document.getElementById取第二个,可是,取到的却是第一个name=category_id
在IE中getElementById竟然不是先抓id而是先找name相同的物件...
兩個form,每個form有兩個textbox,兩個form中的textbox是相同的name,但id都不同...
這樣在Firefox是沒問題的...但在IE卻只抓得到第一個出現的name資料
下面这段代码可以验证这个结果
getElementById
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
② javascript中的getElementbyId使用
网页中的元素必须有id属性,才能通过这个方法得到,比如
<input type=text name="content" id="content">
③获取html标记主要有两种方法,一种是通过ID值,一种是通过name属性
name属性主要用于form表单内的input标记
相关推荐
-
document.documentElement的一些使用技巧
复制代码 代码如下: --documentElement 属性可返回文档的根节点. <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> <script type="text/javascript"> function shownode() { var ohtml = document.documentElement; //al
-
document.getElementById介绍
把你的大脑当做浏览器执行下面的代码两次,分别是IE6和IE9: 复制代码 代码如下: function testFunc(){ alert('test') } $(function(){ var g = document.getElementById , w = window.testFunc ; //g alert(typeof(g)); alert(String(g)); alert(g instanceof Object); alert(g instanceof Function); //
-
document.createElement()用法
document.createElement()是在对象中创建一个对象,要与appendChild() 或 insertBefore()方法联合使用.其中,appendChild() 方法在节点的子节点列表末添加新的子节点.insertBefore() 方法在节点的子节点列表任意位置插入新的节点. 下面,举例说明document.createElement()的用法.<div id="board"></div>例1: 复制代码 代码如下: <script
-
由document.body和document.documentElement想到的
对于document.compatMode,很多朋友可能都根我一样很少接触,知道他的存在却不清楚他的用途.其实这个对于我们开发兼容性的web页面还是很有帮助,我们都知道,盒模型的渲染在 Standards Mode和Quirks Mode是有很大差别的,在不声明Doctype的情况下,浏览器默认是Quirks Mode.所以为兼容性考虑,我们可能需要获取当前的文档渲染方式. document.compatMode正好派上用场,它有两种可能的返回值:BackCompat和CSS1Compat,对其
-
用document.documentElement取代document.body的原因分析
IE6在页面内容超出窗口大小时将宽度属性scrollWidth.clientWidth.offsetWidth都解释为内容实际宽度. 上次的测试说明了document.body属性并不会给我们返回预期的结果,比如我们用document.body.clientHeight原本想取得"页面可见区域高度",可实际上返回的是"页面实际内容高度". 那我们怎么办呢?难道加上了文档DTD类型之后就再也不能取到"可见区域高度"和"内容实际宽度&quo
-
document.createElement()用法及注意事项(ff下不兼容)
今天处理了一个日期选择器的ie和ff的兼容问题,本来这种情况就很难找错误,找了好久才把错误定位到js中创建元素的方法document.createElement(),这个方法在ie下支持这样创建元素 复制代码 代码如下: var inputObj = document.createElement ("<input type='text' size='8' style='border:0px;border-bottom:2px solid #c0c0c0;' " r
-
document.all还是document.getElementsByName?
复制代码 代码如下: (wuhen注:document.all是ie特有的属性,不是万维网标准) 当页面上的控件同名且多个的时候,你首先做的是什么?判断长度?的确,从程序的严密角度出发,我们是需要判断长度,而且有长度和没长度是两种引用方法.我们来看: oEle= document.all.aaa ;//这里有一个aaa的对象,但我们不知道它现在长度是多少,所以没办法对它操作.因此,我们要先做判断长度的过程.如下: if(oEle.length){}else{}; 在两种情况下,花括号里面的内容写
-
document.getElementById的一些细节
① document.getElementById 有时会抓name放过了id ,据说是IE的一个BUG: http://community.csdn.net/Expert/topic/4223/4223888.xml?temp=.1947443 页面中有 程序代码 <input type="hidden" id="hello8" name="category_id" value="2" /> <select
-
TypeError document.getElementById(...) is null错误原因
今天手写了一个简单的页面做测试用,写完js部分总是报 TypeError document.getElementById(...) is null 这个错误,代码看了几遍,语法上没找着什么错误,没办法,就在互联网上搜索了一下,才发现 document.getElementById 这个根据id找节点的语法写法还是有点讲究的,具体如下: (1)如果写在 id 所在节点的前面,比如 head 块中,则要如下写法: 复制代码 代码如下: window.onload=function(){ .....
-
javascript typeof id==='string'?document.getElementById(id):id解释 原创
一般来说想要理解这段代码,需要掌握如下两个函数 一个是 typeof一个就是三元运算符 看完了上面的文章再看下面的就比较好理解了 一般来说常用的函数代码 function $(id){ return typeof id==='string'?document.getElementById(id):id;} var GetBy = function (id) { return "string" == typeof id ? document.getElementById(id) : id
-
document.getElementById获取控件对象为空的解决方法
1.下面是一个简单的例子,页面加载时显示一段信息 复制代码 代码如下: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <
-
javascript代码在ie8里报错 document.getElementById(...) 为空或不是对象的解决方法 原创
ie8中对于声明文档类型更加严格如下面的代码. 运行环境: function osdo(str){ document.getElementById("os").value=str; } 清空 Windows平台 S60v2 S60v3 CHM PDF PPT WORD EXCEL asp asp+access asp+sqlserver asp+sql/access php源码 php php+mysqljsp asp.net源码 asp.net asp.net+access asp.
-
原生js操作checkbox用document.getElementById实现
jquery与checkbox的checked属性的问题,讲的是控件<input type="checkbox"></input> 1.页面加载成功后,点击选中或取消选中该checkbox,checkbox属性里的checked属性不会根据该checkbox是否选中而变化 2.checkbox里的onchange或onclick方法里用jquery的attr方法获取checked是看得到的checked属性的值与它是否给钩上没有关系 3.使用document.g
-
js中document.getElementByid、document.all和document.layers区分介绍
document.all是IE 4.0及以上版本的专有属性,是一个表示当前文档的所有对象的娄组,不仅包括页面上可见的实体对象,还包括一些不可见的对象,比如html注释等等.在document.all数组里面,元素不分层次,是按照其在文档中出现的先后顺序,平行地罗列的.所以可以用数字索引来引用到任何一个元素.但比较常用的是用对象id来引用一个特定的对象,比如document.all["element"]这样. document.layers是Netscape 4.x专有的属性,是一个代表
-
document.getElementsByName和document.getElementById 在IE与FF中不同实现
对于ID & Name 按最经典的解释的:"ID 就如同我们的身份证,Name就如同我们的名字",也就是说,在一个html文档中ID是唯一的,但是Name是可以重复的,就象我们的人名可以重复但是身份证确实全中国唯一的(PS:据说有重复的^_^) 但是对于document.getElementsByName 与document.getElementById 这个两个方法,IE中是并没有严格区分 ID 与 Name 的,比如: <script type="text/
-
各浏览器对document.getElementById等方法的实现差异解析
所有Web前端同仁对 document.getElementById 都非常熟悉了.开发过程中经常需要用其获取页面id为xx的元素,自从元老级JS库Prototype流行后,都喜欢这么简写它 复制代码 代码如下: // 方式1 function $(id){ return document.getElementById(id); } 有没有人想过为什么要这么写,而不用下面的方式写呢? 复制代码 代码如下: // 方式2 var $ = document.getElementById; 这么写的$
随机推荐
- Go语言之自定义集合Set
- 实例讲解Java编程中数组反射的使用方法
- iOS开发中使用UIDynamic来捕捉动画组件的重力行为
- python开发之for循环操作实例详解
- JS滚轮事件onmousewheel使用介绍
- Android编程之Activity中onDestroy()调用分析
- PHP 编程请选择正确的文本编辑软件
- 登陆asp class
- Android中使用开源框架eventbus3.0实现fragment之间的通信交互
- c#判断操作系统位数的示例分享
- mysql为字段添加和删除唯一性索引(unique) 的方法
- javascript中数组(Array)对象和字符串(String)对象的常用方法总结
- JS实现unicode和UTF-8之间的互相转换互转
- JavaScript用select实现日期控件
- jQuery实现手机上输入后隐藏键盘功能
- C++多线程编程简单实例
- 利用vue + koa2 + mockjs模拟数据的方法教程
- Android Studio 3.0上分析内存泄漏的原因
- 使用python实现链表操作
- 使用python编写监听端