jQuery attr style 選擇器在不同瀏覽器中的表現


  今天寫了段JQuery選擇器代碼,為了找到Style 中含有display:none的元素,本以為很簡單的事情,但在不同瀏覽器中運行時,就出現了問題。

  Html 代碼:

  

  使用下面的選擇器語句在谷歌中正常,但IE中獲取不到正確的結果,懷疑寫法在IE中不兼容,換了各種寫法都不行,網上查找一番,無解。

$("td:not([style*='display:none'])", ".searchDiv")

  絕招:分別在不同瀏覽器控制台打印出style屬性,終於找到原因。我只測試了谷歌和IE,其他瀏覽器可自己試驗。

  

  注意他們的區別,一個是注意大小寫,另外要注意冒號后的空格(style='DISPLAY: none')。

  其他瀏覽器隨便寫,IE中:

  不行:$("td:not([style*='DISPLAY: none'])", this.searchDiv)

  正解:$("td", ".searchDiv").not($("td[style='DISPLAY: none']", ".searchDiv"))

 

  IE 7 下仍然有問題,使用jquery的filter() 函數解決。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM