`
ywxowen999
  • 浏览: 23637 次
  • 性别: Icon_minigender_1
  • 来自: 吉林
社区版块
存档分类
最新评论

IE 中的id 与name

阅读更多
火星浏览器(IE)又抽风了表现如下,在IE7下,使用document.getElementById('id')竟然可以获取到name = 'id' 的标签。如例子
<input type="text" name="aaa" id="ccc" >
<input type="text" name="ccc" id="aaa">
<input type="button" value="测试" onclick="view();"/>
	<script type="text/javascript">
		function view() {
			var obj = document.getElementById("ccc");
			alert(obj.value);  
			obj = document.getElementById("aaa");
			alert(obj.value);  
		}
       </script>

当你在IE7下运行此段代码,并未两个文本框输入不同的文字后按测试按钮,会弹出两个一样内容的提示框。
问题发现了,如何修正呢?借用KISSY1.3 RC版本中的办法
    //**
      *elem 为使用document.getElementById('id')获得的DOM对象
      * id 就是id啦。通过这个函数可以判断获取的是否是那个真正的。
      */
    function idEq(elem, id) {
        // form !
        var idNode = elem.getAttributeNode('id');
        return idNode && idNode.nodeValue === id;
    }

document.getElementsByName & document.getElementById 在IE与FF中不同实现
分享到:
评论

相关推荐

    html中id与name

    在HTML5中,尽管`name`和`id`仍然保持原有的角色,但`id`的使用更加广泛,它在`&lt;label&gt;`元素的`for`属性中与表单控件关联,使得点击标签可以激活对应的输入元素。同时,`id`也常用于创建锚点链接,如`...

    浅谈html中id和name的区别.pdf

    对于需要通过脚本访问的表单元素,即使在IE中,也建议使用id属性,因为直接通过id引用元素(如`MyInput.value`)比通过form引用name(如`document.forms[0].elements['MyInput']`)更为直接和高效。 关于id和name的...

    Javascript的IE和Firefox兼容性参考

    - 在IE中,可以使用`eval(idName)`获取id为`idName`的对象,Firefox不支持。推荐使用`document.getElementById(idName)`。 6. **变量名与HTML对象id相同的问题** - Firefox中,HTML对象的id不会自动成为全局变量...

    JavaScript在IE和FF中的区别

    4. 获取ID为`idName`的对象:IE允许使用`eval(idName)`或`getElementById(idName)`,Firefox只支持`getElementById(idName)`。最佳实践是统一使用`getElementById(idName)`,并避免将HTML对象ID作为变量名,以防止...

    兼容IE和Firefox获得keyBoardEvent对象

    IE中可以使用eval("idName")或getElementById("idName")来取得id为idName的HTML对象,而Firefox中只能使用getElementById("idName")来取得id为idName的HTML对象。解决方法是统一用getElementById("idName")来取得id...

    IE与FF脚本兼容性问题

    在IE中可以使用 `eval(idName)` 来获取ID为 `idName` 的HTML对象,但在FF中无法这样做。 **解决方法:** 使用 `document.getElementById(idName)` 替代 `eval(idName)`。 ```javascript // 错误用法 var element = ...

    Mozzila Firefox与IE的兼容问题

    在IE中,利用 eval(idName) 可以取得 id 为 idName 的 HTML 对象,但是在Firefox中不能。解决方法是使用getElementById(idName)代替eval(idName)。 5. Document.All 问题 IE 支持 document.all,但是Firefox 不...

    js在IE与firefox的差异集锦

    在使用eval("idName")获取元素时,IE浏览器可以通过该方法或getElementById("idName")来获取。但在Firefox中,只能使用getElementById("idName")。因此,为了兼容性,推荐统一使用getElementById("idName")。 当...

    javascript在firefox与ie下的兼容性总结

    - 问题描述:IE中可以用`eval(idName)`获取id为`idName`的对象,Firefox不支持。 - 解决方法:使用`document.getElementById(idName)`代替`eval(idName)`。 6. **变量名与HTML对象id相同的问题** - 问题描述:在...

    浅谈html中id和name的区别实例代码

    ### 浅谈HTML中ID与Name的区别及其应用场景 在HTML文档中,`id`与`name`是非常重要的属性,它们分别用于唯一标识一个元素以及命名一个元素。虽然这两个概念看起来相似,但它们在实际应用中有着本质的区别。下面将...

    IE6不能修改NAME问题的解决方法

    对于使用jQuery库的开发者来说,`clone`方法可以复制一个DOM元素,但如果你想在复制后更改新元素的`NAME`属性,你会发现这种方法在IE6中也无效。为了解决这个问题,你可以采取以下策略: 1. 不直接使用`clone`,...

    前端设计IE6IE7IE8IE9FF问题汇总IE和FirFox兼容问题[参照].pdf

    4. **HTML对象的id作为对象名问题**:在IE中,可以直接通过`idName`访问HTML对象,但在Firefox中需要使用`document.getElementById("idName")`。 5. **用idName字符串取得对象问题**:IE支持`eval(idName)`获取ID为...

    ie与火狐中常见的一些兼容问题.doc

    - **现有问题**:在IE中,可以使用`eval(idName)`来获取id为`idName`的HTML对象,但这种方法在Firefox中不起作用。 - **解决方法**:推荐使用`document.getElementById(idName)`来代替`eval(idName)`。这不仅可以...

    Javascript在IE和Mozilla中的兼容性问题.doc

    - IE中,`eval(idName)`可以获取id为`idName`的对象,但MF不支持。 - 应使用`getElementById(idName)`代替`eval(idName)`。 6. **变量名与HTML对象id相同的问题** - 在MF中,即使变量名与HTML对象id相同,也不会...

    火狐和IE支持javaScript脚本的一些区别

    IE中,`eval(idName)`可被用作获取ID为`idName`的元素,但这种方式容易引发安全问题,且不推荐在现代Web开发中使用。应优先选择`getElementById(idName)`。 ### 6. 相同HTML ID的处理 在IE中,如果页面上存在多个...

    FF与IE对javascript和CSS的区别

    - IE支持`eval("idName")`或`getElementById("idName")`来获取ID为`idName`的元素,但FF仅支持`getElementById("idName")`。最佳实践是使用`getElementById("idName")`。 5. **变量名与HTML对象ID相同** - IE将...

    FF和IE的兼容性问题总结

    4. **ID查找**:IE下可以用`eval("idName")`或`getElementById("idName")`获取元素,而FF只支持`getElementById("idName")`。建议始终使用`getElementById("idName")`,以避免安全问题和兼容性问题。 5. **变量名与...

    IE 与FireFox 区别概要总结

    - 用`eval("idName")`在IE中获取ID为"idName"的对象,但Firefox不支持。推荐使用`document.getElementById("idName")`。 8. 变量名与HTML对象ID相同: - 在Firefox中,变量名不会覆盖HTML对象ID,但在IE中可能会...

    IE和Firefox中J avaScript兼容

    - **统一解决方案**: 在脚本中使用`document.getElementById("idName")`而非直接通过`document.idName`访问元素,这样可以避免因浏览器不同导致的问题。 #### 6. `const`关键字的支持 - **Firefox**: 支持使用`...

    ie firefox 兼容问题大全

    - **问题描述**:在IE中,可以使用`eval("idName")`或`getElementById("idName")`来获取指定ID的HTML元素;而在Firefox中,只支持`getElementById("idName")`。 - **解决方案**:推荐使用`getElementById("id...

Global site tag (gtag.js) - Google Analytics