如何使用jQuery选择属性不透明度为1的元素

时间:2012-06-23 15:49:55

标签: jquery attributes opacity

我有这些元素,我需要选择ul里面的li,其中opacity = 1。 我怎么能这样做?

<ul class="class" id="ul">
                <li style="width: 100%; list-style: none outside none; position: absolute; top: 0px; left: 0px; z-index: 98; opacity: 0;"><a title="title1" href=""><img alt="alt" class="class_name" src="/images/7dfc294d5c3bcebecb2ec0e44fd27d1c.jpg"></a></li>
                <li style="width: 100%; list-style: none outside none; position: absolute; top: 0px; left: 0px; z-index: 98; opacity: 0;"><a title="title2" href=""><img alt="alt" class="class_name " src="/images/a9c9eb42934df4576b352d88f607f292.jpg"></a></li>
                <li style="width: 100%; list-style: none outside none; position: absolute; top: 0px; left: 0px; z-index: 98; opacity: 0;"><a title="title3" href=""><img alt="alt" class="class_name " src="/images/b64264692c0d648068c9d1380e9099c1.jpg"></a></li>
                <li style="width: 100%; list-style: none outside none; position: absolute; top: 0px; left: 0px; z-index: 99; opacity: 1;"><a title="title4" href=""><img alt="alt" class="class_name " src="/images/43e3e5e2edc4234ecddbc89636e4e224.jpg"></a></li>
                <li style="width: 100%; list-style: none outside none; position: absolute; top: 0px; left: 0px; z-index: 98; opacity: 0;"><a title="title5" href=""><img alt="e-alt" class="class_name " src="/images/31a156ce7f7ab5485366d24f6cbfbede.jpg"></a></li>
            </ul>

2 个答案:

答案 0 :(得分:12)

$('#ul li').filter(function() {
  return $(this).css('opacity') == '1';
});

<强> DEMO

您也可以尝试使用.each()

var lis = [];
$('#ul li').each(function() {
    if ($(this).css('opacity') == '1') {
        lis.push(this);
    }
});

<强> DEMO

或使用.map()

var lis = $('#ul li').map(function() {
    if($(this).css('opacity') == '1')
        return this;
}).get();

<强> DEMO

答案 1 :(得分:0)

你可以尝试

$('li[style*="opacity: 1"]')

但我不确定它是否会在没有空格时返回元素,例如opacity:1