5

我无法按样式属性检索元素。我有一个ul包含几个li元素的元素,我想找到一个 style 属性具有 value 的元素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;">
4

2 回答 2

8

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

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

如果您根据特定的 CSS 属性过滤元素,最简单的方法是使用 filter()

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

参考:

于 2013-10-24T21:19:44.870 回答
5

两个问题:

  1. 在您的 HTML 中,“display:”和“list-item”之间有一个空格。
  2. 您的选择器需要用引号括起来""

只需更改您的选择器以包含此空间并将其用引号括起来:

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

JSFiddle 演示

于 2013-10-24T21:19:24.150 回答