如何按样式属性查找元素?

时间:2013-10-24 21:17:43

标签: jquery css jquery-selectors

我无法按样式属性检索元素。 我有一个ul有几个li元素,我想找到一个样式属性值为display:list-item的元素。我试图通过几种方式来解决这个问题,包括以下方面,但我不断得到一个空对象。我没有标题属性的问题。不确定我做错了什么。

$('li[style*=display:list-item]')

HTML:

<ul class="bjqs" style="height: 200px; width: 100%;">
    <li class="bjqs-slide" style="height: 200px; width: 100%; display: list-item;">

2 个答案:

答案 0 :(得分:6)

您的选择器是空白区域敏感的,因为属性中有空格,您在选择器中也需要它:

$('li[style*="display: list-item"]')

最简单的方法是减少精确匹配字符串的问题,如果您根据特定的CSS属性过滤元素,则使用 filter()

$('li').filter(function(){
    return $(this).css('display') === 'list-item';
});

参考文献:

答案 1 :(得分:4)

两个问题:

  1. 在HTML中,“display:”和“list-item”之间有一个空格。
  2. 您的选择器需要包含引号""
  3. 只需更改您的选择器以包含此空格并将其包装在引号中:

    $('li[style*="display: list-item"]')
    

    JSFiddle demo