属性的CSS3选择器“具有任何值且不为空或空白”

时间:2016-02-29 19:57:09

标签: jquery css css-selectors wildcard

我似乎找不到'任何值不为空或空白'的css3通配符。

我有一堆div,其中一些有一个名为data-group-id但不是全部的属性。我想找到所有具有该属性的div,data-group-id`,并且不是空白。

例如,我有这些div:

<div class="col-md-2 custom_boxshadow" data-role="mergeSelector" data-required="1"></div>
<div class="col-md-2 custom_boxshadow" data-role="mergeSelector" data-required="1"></div>
<div class="col-md-2 custom_boxshadow" data-role="mergeSelector" data-required></div>
<div class="col-md-2 custom_boxshadow" data-role="mergeSelector" data-required data-group-id="55"></div>
<div class="col-md-2 custom_boxshadow" data-role="mergeSelector" data-required data-group-id="55"></div>
<div class="col-md-2 custom_boxshadow" data-role="mergeSelector" data-required data-group-id="15"></div>

如您所见,最后3个div具有名为data-group-id的属性。

我想要一个能够找到这三个元素的选择器。基本上我正在尝试做这个逻辑

$parent.find('div[data-role="mergeSelector"][data-group-id="*"]')

其中*是一张外卡,上面写着“有价值,但价值无关紧要。”

是否存在可以实现此目的的选择器?我在网上找不到任何东西。

谢谢!

感谢您的帮助,完成查询如下:

$parent.find('div[data-role="mergeSelector"][data-group-id]:not([data-group-id=‌​""])')

2 个答案:

答案 0 :(得分:5)

[data-group-id]:not([data-group-id=""])

这将选择具有该属性的元素,只要它不是空白。

答案 1 :(得分:1)

您写道:

  

...其中*是一张外卡,上面说有一个值但不重要的是

你走了:

div[data-group-id] { ... }

来自规范:

  

6.3.1. Attribute presence and value selectors

     

<强> [ATT]

     

表示具有att属性的元素,无论值是什么   属性。