我知道attributeContains选择器,但它如何应用于样式属性?
我想找到不透明度设置为0的所有<a>
标记。
我试过了:
$("a[style*='opacity: 0']")
但它什么也没有回报。
答案 0 :(得分:19)
:visible
选择器不起作用,因为它没有考虑不透明度。
要定位0
不透明度的广告,您可以使用.filter()
来检查不透明度的.css()
值:
$("a").filter( function() {
return $(this).css('opacity') === '0';
});
如果您愿意,可以创建自己的选择器:
$.extend($.expr[':'], {
opacity: function(elem, i, attr){
return( $(elem).css("opacity") === attr[3] + '' );
}
});
var $invisible = $("a:opacity(0)");
或
$.extend($.expr[':'], {
transparent: function(elem, i, attr){
return( $(elem).css("opacity") === "0" );
}
});
var $invisible = $("a:transparent");
答案 1 :(得分:1)
如果您想知道某个元素是否可见,请使用:
$('a:not(:visible)');
答案 2 :(得分:1)
$('a:not(:visible)')
您的代码无法正常工作,因为只有在对元素的样式属性应用不透明度时它才有效 - CSS样式怎么样?他们不会申请。 jQuery提供:visible
和:not
选择器,因此您可以将它们组合在一起。 http://api.jquery.com/category/selectors/