2015-10-03 30 views
-1

这就是我想做的事:如何选择一个匹配.text()==“”条件的元素?

<label class="myClass"></label> <!-- I want to hide this --> 
<label class="myClass">Some text here</label> <!-- Don't hide --> 

$('label.myClass').text() == "") { 
     $('this').hide(); 
} 

当然,$(this)点窗口,不符合条件的label.myClass。我如何重写,以便选择所有没有文字的标签?

回答

1
var label = $('label.myClass').filter(function (index) { 
    if ($(this).text() == "") { 
     return $(this) 
    } 
}) 

console.log(label.attr('class')) 
console.log(label.text()) 
console.log(label.length) 

使用.filter()

DEMO

1

你可以做的是这样的:

$("label.myClass").each(function(index) { 
if ($(this).text() == "") { 
    $(this).hide(); 
    } 
}); 
1

尝试使用:empty选择

$("label.myClass:empty").hide()
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"> 
 
</script> 
 
<label class="myClass"></label> <!-- I want to hide this --> 
 
<label class="myClass">Some text here</label> <!-- Don't hide -->

相关问题