|
復制代碼 代碼如下:
var _val = $("input[name='input1'][checked]").val();
結果發現_val的值為undefined,開始還以為寫的不對,可檢查沒有問題,這樣寫在IE6、7、FF、Chrome、Opera、Safari中都可以正常的得到值,就是在IE8中不行。百思不得其解,后來又實驗:
復制代碼 代碼如下:
var _val = $("input[name='input1']").eq(0).val();
可以得到值,說明問題可能出現在radio的checked屬性上,再實驗:
復制代碼 代碼如下:
var _val = document.getElementsByName("input1")[0].getAttribute("checked");
在IE6、7、FF、Chrome、Opera、Safari中的值為true或false,而在IE8中為空,
在IE8中:
復制代碼 代碼如下:
var _val = document.getElementsByName("input1")[0].checked;
可以行到true或false的值,不知道這是IE8的bug還是微軟另有深意呢?
最后使用:
復制代碼 代碼如下:
var _val = $(":radio[name='input1'][checked]").val();
這樣在各種瀏覽器上都正常了,估計jquery1.3.2的測試人員對IE8的測試還不夠全面,希望下一個版本能解決這個問題。
JavaScript技術:jquery 1.3.2 IE8中的一點點的小問題解決方法,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。