IE中使用colspan> 1的td元素的CSS规则

Eri*_*rik 16 html css css-selectors

我需要将一些css样式应用于具有'colspan'属性且其值大于1的td元素.

我做以下事情:

td[colspan][colspan!=1] {
 background: red;
}
Run Code Online (Sandbox Code Playgroud)

它适用于所有浏览器而不是IE(包括最新版本).请帮忙.我该如何解决这个问题.

Bol*_*ock 30

这不应该在任何浏览器中工作,因为[colspan!=1]它不是有效的CSS属性选择器.它仅作为非标准扩展存在于jQuery中.

jQuery文档:

这个选择器相当于:not([attr="value"]).

这意味着它可以在CSS中使用,您需要使用它:

td[colspan]:not([colspan="1"]) {
 background: red;
}
Run Code Online (Sandbox Code Playgroud)

请记住,:not()不支持IE早于版本9.如果您需要支持旧的浏览器,你可以使用jQuery应用样式,或者如果必须使用CSS,那么你应该覆盖风格为您td的元素[colspan="1"],而不是:

td {
 background: red;
}

td[colspan="1"] {
 background: transparent;
}
Run Code Online (Sandbox Code Playgroud)

  • 而不是`td [colspan = 1]`你应该使用`td [colspan ="1"]`. (2认同)