次のコードがあります。
<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 の場合は非表示にする必要があります。
次のコードがあります。
<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 の場合は非表示にする必要があります。
var $item = $('.field-item');
if ($item.text() == 0) {
$item.parent().siblings('.field-label').hide();
}
toggle
このメソッドを使用して、条件に応じて要素を表示または非表示にします。
$('.field-label').toggle($('.field-item').text() == '1');
$(document).ready(function(){
$('.field-item').each(function(){
if($(this).text() == 0){
$(this).parent().prev().hide();
}else{
$(this).parent().prev().show();
}
});
});
$('.field-label').each(function() {
$(this).css('display', $(this).next('.field-items').find('.field-item').is(':contains("1")') ? 'block' : 'none');
});
それは正常に動作します!
$(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
div.field-item
それぞれの内部に1つしかないと仮定すると、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();
});
toggle()
ブールフラグで使用できます
$('.field-name-new').each(function() {
var $this = $(this);
$this.find('.field-label').toggle(!!$this.find('.field-item').text())
});
each
複数の.field-name-new
ブロックがある場合に備えて作成しました