jquery 1.3.2 IE8中的一點(diǎn)點(diǎn)的小問題解決方法
更新時(shí)間:2009年07月10日 21:21:51 作者:
最近的項(xiàng)目中開始使用了新版本的jquery,就是1.3.2版,發(fā)現(xiàn)在這個(gè)在版本對就radio類型的input在IE8中的支持不太好
使用的時(shí)候是這個(gè)樣子的:
var _val = $("input[name='input1'][checked]").val();
結(jié)果發(fā)現(xiàn)_val的值為undefined,開始還以為寫的不對,可檢查沒有問題,這樣寫在IE6、7、FF、Chrome、Opera、Safari中都可以正常的得到值,就是在IE8中不行。百思不得其解,后來又實(shí)驗(yàn):
var _val = $("input[name='input1']").eq(0).val();
可以得到值,說明問題可能出現(xiàn)在radio的checked屬性上,再實(shí)驗(yàn):
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();
這樣在各種瀏覽器上都正常了,估計(jì)jquery1.3.2的測試人員對IE8的測試還不夠全面,希望下一個(gè)版本能解決這個(gè)問題。
復(fù)制代碼 代碼如下:
var _val = $("input[name='input1'][checked]").val();
結(jié)果發(fā)現(xiàn)_val的值為undefined,開始還以為寫的不對,可檢查沒有問題,這樣寫在IE6、7、FF、Chrome、Opera、Safari中都可以正常的得到值,就是在IE8中不行。百思不得其解,后來又實(shí)驗(yàn):
復(fù)制代碼 代碼如下:
var _val = $("input[name='input1']").eq(0).val();
可以得到值,說明問題可能出現(xiàn)在radio的checked屬性上,再實(shí)驗(yàn):
復(fù)制代碼 代碼如下:
var _val = document.getElementsByName("input1")[0].getAttribute("checked");
在IE6、7、FF、Chrome、Opera、Safari中的值為true或false,而在IE8中為空,
在IE8中:
復(fù)制代碼 代碼如下:
var _val = document.getElementsByName("input1")[0].checked;
可以行到true或false的值,不知道這是IE8的bug還是微軟另有深意呢?
最后使用:
復(fù)制代碼 代碼如下:
var _val = $(":radio[name='input1'][checked]").val();
這樣在各種瀏覽器上都正常了,估計(jì)jquery1.3.2的測試人員對IE8的測試還不夠全面,希望下一個(gè)版本能解決這個(gè)問題。
相關(guān)文章
checkbox全選/取消全選以及checkbox遍歷jQuery實(shí)現(xiàn)代碼
checkbox全選/取消全選以及checkbox遍歷jQuery實(shí)現(xiàn)代碼2009-12-12推薦40個(gè)簡單的 jQuery 導(dǎo)航插件和教程(下篇)
在下面的集合中,你會(huì)發(fā)現(xiàn)很多便利的 jQuery 導(dǎo)航插件和有用的教程,幫助你實(shí)現(xiàn)充滿吸引力的網(wǎng)站導(dǎo)航,讓你網(wǎng)站更有組織性和交互性2012-09-09