IE6下js通過css隱藏select的一個bug
更新時間:2010年08月16日 16:17:32 作者:
想起ie6下,臭名昭著的select需要用iframe遮罩的bug,估計和上面的bug根由是一樣的
今天遇到一個問題, 當隱藏表格行 Tr 時
$id("tr_" + id + "_1").style.setAttribute('cssText',"display:none;");,
表格行 Tr 里面的 select 在 IE6 中隱藏不了,還是會顯示在頁面當中。想單獨設置 select 的樣式為隱藏
$id("new_attpm_id2_" + id).style.setAttribute('cssText',"display:none;");
也隱藏不了,上網(wǎng)搜索找到文章《IE6下,js通過css隱藏select的一個bug》,原來這是 IE6 的一個 Bug ,可以通過 style.display = "none";使其隱藏。
最終代碼如下 $id("new_attpm_id2_" + id).style.display = "none"; 問題順利解決。
請在ie6下打開:ie6_js_hidden_select_bug.html
通過:
document.getElementById('J_Test').style.display = 'none';
可以隱藏select元素。
但是通過:
document.body.id = 'page';
配合css代碼:
#page select { display: none; }
在ie6下,無法隱藏select元素。
嘗試position, setTimeout, 改變zoom到1.001等方法,均失敗。
想起ie6下,臭名昭著的select需要用iframe遮罩的bug,估計和上面的bug根由是一樣的:在ie6下,select是windowed element,其表現(xiàn)和普通的HTML elements有本質上的區(qū)別。至于究竟為何?估計只能去看微軟的源碼了。
$id("tr_" + id + "_1").style.setAttribute('cssText',"display:none;");,
表格行 Tr 里面的 select 在 IE6 中隱藏不了,還是會顯示在頁面當中。想單獨設置 select 的樣式為隱藏
$id("new_attpm_id2_" + id).style.setAttribute('cssText',"display:none;");
也隱藏不了,上網(wǎng)搜索找到文章《IE6下,js通過css隱藏select的一個bug》,原來這是 IE6 的一個 Bug ,可以通過 style.display = "none";使其隱藏。
最終代碼如下 $id("new_attpm_id2_" + id).style.display = "none"; 問題順利解決。
請在ie6下打開:ie6_js_hidden_select_bug.html
通過:
document.getElementById('J_Test').style.display = 'none';
可以隱藏select元素。
但是通過:
document.body.id = 'page';
配合css代碼:
#page select { display: none; }
在ie6下,無法隱藏select元素。
嘗試position, setTimeout, 改變zoom到1.001等方法,均失敗。
想起ie6下,臭名昭著的select需要用iframe遮罩的bug,估計和上面的bug根由是一樣的:在ie6下,select是windowed element,其表現(xiàn)和普通的HTML elements有本質上的區(qū)別。至于究竟為何?估計只能去看微軟的源碼了。
相關文章
當文本框的值發(fā)生改變時,觸發(fā)事件,在IE中有效
當文本框的值發(fā)生改變時,觸發(fā)事件,在IE中有效,具體的大家可以測試下。2009-09-09js監(jiān)聽表單value的修改同步問題,跨瀏覽器支持
今天同事測試發(fā)現(xiàn)項目中一個小bug,然后我負責解決。研究了不短的時間,終于搞定了,有點激動。呵呵。拿出來與大家分享。2009-12-12