首頁  >  文章  >  web前端  >  如何解決IE8瀏覽器下dom元素不區分name屬性大小寫問題

如何解決IE8瀏覽器下dom元素不區分name屬性大小寫問題

一个新手
一个新手原創
2017-10-17 10:30:232202瀏覽

在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
在取得元素時,在Google瀏覽器下使用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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn