如何选择与.text()==“”条件匹配的元素?

时间:2015-10-03 03:02:12

标签: javascript jquery

这就是我想要做的事情:

<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。如何重写以便我选择所有没有文本内容的标签?

3 个答案:

答案 0 :(得分: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 :(得分:1)

你能做的就是这样:

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

答案 2 :(得分:1)

尝试使用:empty选择器

&#13;
&#13;
$("label.myClass:empty").hide()
&#13;
<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 -->
&#13;
&#13;
&#13;