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() 函数解决。
分类:
前端 - JQuery
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?