2

我有以下代码:

<div class="field-name-new">
  <div class="field-label">New</div>
  <div class="field-items">
    <div class="field-item">0</div>
  </div>
</div>

仅当 div.field-item 的值为 1 时才需要显示 div.field-label ,如果值为 0 则隐藏它。

4

7 回答 7

3
var $item = $('.field-item');

if ($item.text() == 0)​​ {
    $item.parent().siblings('.field-label').hide();
}​

http://jsfiddle.net/zerkms/FTbBT/

于 2012-05-21T08:14:26.043 回答
2

使用toggle方法根据条件显示或隐藏元素:

$('.field-label').toggle($('.field-item').text() == '1');
于 2012-05-21T08:16:47.253 回答
1
$(document).ready(function(){
 $('.field-item').each(function(){
       if($(this).text() == 0){
            $(this).parent().prev().hide();
       }else{
           $(this).parent().prev().show();
    }
    });
    });
于 2012-05-21T08:16:17.277 回答
1
$('.field-label').each(function() {
       $(this).css('display', $(this).next('.field-items').find('.field-item').is(':contains("1")') ? 'block' : 'none');
});

http://jsfiddle.net/HackedByChinese/kXdat/1/

于 2012-05-21T08:16:44.913 回答
1

div.field-item假设每个里面只有一个,div.field-items这应该可以工作:

$('.field-items').each(function(i,el)
{
    var field_item = $(el);
    if(field_item.text() == 1)
        $(this).prev().show();
    else
        $(this).prev().hide();
});

示例:http: //jsfiddle.net/zsA7W/

于 2012-05-21T08:18:58.370 回答
1

您可以使用toggle()布尔标志

$('.field-name-new').each(function() {
    var $this = $(this);
    $this.find('.field-label').toggle(!!$this.find('.field-item').text())
});

我创建了一个each以防你有多个.field-name-new

于 2012-05-21T08:19:36.097 回答
1

它工作正常!

$(document).ready(function() {
    if($(".field-item").html() == '0'){    
    $("div.field-label").hide();
    }
});​

更新了 Jsfiddle: http: //jsfiddle.net/ipsjolly/m4BTd/4/通过更改值来测试它<div class="field-item">0</div> 并单击Run

于 2012-05-21T08:22:11.687 回答