IE6下js通過css隱藏select的一個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;");
也隱藏不了,上網搜索找到文章《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,其表現和普通的HTML elements有本質上的區別 。至于究竟為何?估計只能去看微軟的源碼了 。您可能感興趣的文章:用javascript實現select的美化的方法用javascript來實現select標簽的美化的代碼用javascript和css模擬select的腳本css js實現select列表橫向排列效果代碼select下拉選擇框美化實現代碼(js css 圖片)select標簽模擬/美化方法采用JS外掛式插件select標記美化--JS式插件、后期加載用JavaScript來美化HTML的select標簽的下拉列表效果js css實現select的美化效果

相關經驗推薦