在IE6使用js操作ul li顯示的麻煩

有一個實作是用js來控制顯示及隱藏<li>裡面的<ul>,這是很一般顯示選單的作法。

在任何瀏覽器都運作得很好。原本也以為在IE6運作得很不錯,後來卻莫名其妙產生了問題,狀況是當滑鼠要移去點選次選單時,次選單會隱藏起來,就好像滑鼠是離開主選單一樣。奇妙的是,幾乎差不多語法及設定的頁面,在另外一個檔案卻是正常的,百思不得其解。

但我重新開一個新檔,用相同的 js語法,只重新建立<ul><li>的內容,結果正常。然後把<ul><li>放到<div>裡面,結果正常。再把<div>設上寬度,例如style:”width:550px”,結果狀況就產生了。接著我再把<div>改用<table>,狀況又消失了,js的效果又正常了。

有了這個確認之後,接著再一次比對上述類似內容但有不同結果的頁面,結果的確發現可正常執行的頁面有<table>,但奇怪的是它並不包含<ul><li>。

所以問題並不在於包覆<ul><li>的標籤,而是IE6在頁面內容裡沒有<table>時會有一些難以預料的結果,目前已知的狀況就是當頁面沒有任何<table>標籤時,<ul><li>置入於有設定寬度的<div>會有例外的表現。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

Proudly using Dynamic Headers by Nicasio WordPress Design