在IE8瀏覽器下用name屬性去取得dom元素時居然是不區分大小寫的。
例如:
<input type='text' name='C1'/> <input type='text' name='c1'/>
如上有2個input輸入框,它們的name屬性分別是大寫C1和小寫c1
在取得元素時,在Google瀏覽器下使用jqury取得:
$("input[name='c1']").length // 1
如上程式碼在I8下執行時所取得的dom元素是2。
改為js原生方法來取得:
document.getElementsByName('c1').length document.querySelectorAll("input[name='c1").length
以上2個方法在IE8下皆為2。由此可見IE8下name屬性不區分大小寫。
當遇到這些問題時,我們在選擇dom元素時可以加上其父級元素來區分選擇:
<p class='p1'><input type='text' name='C1'/></p> <p class='p2'><input type='text' name='c1'/></p> document.querySelectorAll(".p1 input[name='C1") document.querySelectorAll(".p2 input[name='c1")
這樣便解決了IE8下無法區分name屬性大小寫的問題。
#以上是如何解決IE8瀏覽器下dom元素不區分name屬性大小寫問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!