尝试使用td
抓住style
:
<td style="color: #333;">
希望这应该有效,但事实并非如此:
td:[style='color: #333;']
有什么想法吗?
感谢。
答案 0 :(得分:1)
似乎是一个缺失的功能。
$.fn.hasStyle = function(style){
return this.filter(function(){
return ($(this).attr('style').indexOf(style) > -1)
}).length > 0;
};
<强>梗概:强>
$('td').hasStyle('color: #333');
在您的情况下,它甚至可以是自定义选择器:
$(document).ready(function(){
$.extend($.expr[':'], {
hasStyle: function(e, i, arg){
var s = new String($(e).attr('style'));
return( s !== 'undefined' && s.indexOf(arg[3]) > -1 );
}
});
});
<强>梗概:强>
$('td:hasStyle("color: #333")').fadeOut('slow');
工作示例:
答案 1 :(得分:0)
$('td[style="color: rgb(51, 51, 51);"], td[style="color: #333;"], td[style="COLOR: #333"]')
这适用于资源管理器8,Firefox,Safari和Chrome demo
答案 2 :(得分:0)
我怀疑它不起作用的原因是因为某些浏览器会“标准化”值。所以你可能会发现在解析时它实际上将#333更改为更标准的6字符颜色字符串#333333(或者甚至是rgb()样式的字符串)。我不得不承认我无法想到解决这个问题的方法,但你应该能够确定是否通过一些简单的测试来读取当前值。