从选择列表中删除空白选项标记

时间:2014-09-24 05:59:35

标签: jquery html css

您好,请告诉我如何从我的选择列表中删除空白选项标签。 在safari样式表黑客不工作。我们可以在j查询上执行此操作。

3 个答案:

答案 0 :(得分:8)



$('select option')
    .filter(function() {
        return !this.value || $.trim(this.value).length == 0 || $.trim(this.text).length == 0;
    })
   .remove();

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select>
<option value=" ">2014 - January</option>
<option value="2">2014 - February</option>
<option value="3"></option>
<option value="4">2014 - April</option>
<option value="5">2014 - May</option>
<option value="6">2014 - June</option>
<option value="7">2014 - July</option>
<option value="8">2014 - August</option>
<option value="">2014 - September</option>
<option value="10">2014 - October</option>
<option value="11">2014 - November</option>
<option value="">2014 - December</option>
</select>
&#13;
&#13;
&#13;

$('select option')
.filter(function() {
    return !this.value || $.trim(this.value).length == 0 || $.trim(this.text).length == 0;
})
.remove();

使用上面的代码与jQuery。它将删除带有空白值和文本的选项。

答案 1 :(得分:8)

如果您只定位最新的浏览器,则可以使用:empty css3属性。

 option:empty
{
  display:none;
}

DEMO

答案 2 :(得分:1)

尝试此操作:使用filter删除text和val均为空白的所有选项。

注意 - 如果您希望文字或值为空,则可以修改条件,然后将||代替&&

$(function(){
    $('select option').filter(function(){
        return ($(this).val().trim()=="" && $(this).text().trim()=="");
    }).remove();
});

<强> Demo