首页 > web前端 > html教程 > 如何解决IE8浏览器下dom元素不区分name属性大小写问题

如何解决IE8浏览器下dom元素不区分name属性大小写问题

一个新手
发布: 2017-10-17 10:30:23
原创
2218 人浏览过

在IE8浏览器下用name属性去获取dom元素时居然是不区分大小写的。
比如:

<input type=&#39;text&#39; name=&#39;C1&#39;/>
<input type=&#39;text&#39; name=&#39;c1&#39;/>
登录后复制

如上有2个input输入框,它们的name属性分别是大写C1和小写c1
在获取元素时,在谷歌浏览器下使用jqury获取:

$("input[name=&#39;c1&#39;]").length // 1
登录后复制

如上代码在I8下运行时获取的dom元素是2。
改为js原生方法来获取:

document.getElementsByName(&#39;c1&#39;).length document.querySelectorAll("input[name=&#39;c1").length
登录后复制

以上2个方法在IE8下均为2。由此可见IE8下name属性不区分大小写。
当遇到这些问题时,我们在选择dom元素时可以加上其父级元素来区分选择:

<p class=&#39;p1&#39;><input type=&#39;text&#39; name=&#39;C1&#39;/></p>
<p class=&#39;p2&#39;><input type=&#39;text&#39; name=&#39;c1&#39;/></p>
document.querySelectorAll(".p1 input[name=&#39;C1")
document.querySelectorAll(".p2 input[name=&#39;c1")
登录后复制

这样便解决了IE8下无法区分name属性大小写的问题。

以上是如何解决IE8浏览器下dom元素不区分name属性大小写问题的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板