【问题标题】:jQuery HasAttribute SelectorjQuery HasAttribute 选择器
【发布时间】:2018-11-22 00:24:20
【问题描述】:
我只需要定位具有multiple="false" 属性的选择器,或者它们根本没有multiple 属性。我试图避免具有multiple="true" 属性的.selectpickers
我添加了这段代码,但是当我需要它们时,所有没有 multiple 属性的 .selectpicker 都不是目标。
$(".selectpicker[multiple='false']").on("loaded.bs.select", function (e) {
});
【问题讨论】:
标签:
jquery
attributes
jquery-selectors
【解决方案1】:
首先请注意,multiple="false" 仍将设置多选,因为重要的是 属性 本身,而不是它的 值:
<p>Note how this is still a multiselect event though 'multiple="false"' is set on it</p>
<select class="selectpicker" multiple="false">
<option>Foo bar</option>
<option>Fizz buzz</option>
</select>
话虽如此,一旦您拥有有效的 HTML,您就可以在选择器中使用 .selectpicker:not([multiple]),如下所示:
$('.selectpicker:not([multiple])').addClass('foo');
.foo {
border: 1px solid #C00;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select class="selectpicker">
<option>This one</option>
</select>
<select class="selectpicker" multiple>
<option>Not this one</option>
</select>
<select class="selectpicker" multiple="true">
<option>Or this one</option>
</select>