1

divが空のときにdivを非表示にするためのいくつかの解決策を見つけましたが、mysqlが取得した値に関連していません。

<button class="platform_category" id="platform_', $platform['platform_id'],'_category"><a href="', $platform['platform_url'],'" target="_tab">', $platform['platform_category1'],'</a></button>

mysql-row にデータがない場合、Jquery は div を非表示にしません。これは、$platform['platform_category1'] が値であると見なすためです。

非表示のjqueryコードについては、これを使用しています:( == を != に置き換えると非表示になります)

    $(function() {
    $('.platform_category').each(function() {
        if ($(this).html() == "") {
             $(this).hide();
       }
    }); 
});
4

4 に答える 4

2

クラスplatform_categoryを持つボタンに<a>は内部 html としてタグがあるため、html()メソッドはここでは意味がありません (常に が返され<a>ます)。text()代わりに試してください:

$('.platform_category').each(function() {
    if ($(this).text() == "") {
        $(this).hide();
    }
});

良い注意( @Blazemonger$.trim()から):メソッドでテキスト トリミングを使用することをお勧めします。

if ($.trim($(this).text()) == "") {
    $(this).hide();
}
于 2012-06-12T14:58:52.030 に答える
1

フィルターを使用して、の内容を確認します.platform_category。下記参照、

$(function() {
   $('.platform_category').filter(function() {
       return $.trim($(this).text()) == '';
    }).hide();
});
于 2012-06-12T15:01:58.410 に答える
0

問題は、div に常にアンカー タグがあるため、$('.platform_category') が実際には空ではないことです。

これは、PHP (最適) または JavaScript の 2 つの方法で行うことができます。

PHP経由

   if ($platform['platform_category1'] != "") {
     <button class="platform_category" id="platform_', $platform['platform_id'],'_category">
        <a href="', $platform['platform_url'],'" target="_tab">',$platform['platform_category1'],'</a>   
      </button>

JavaScript で行う必要がある場合

    $(function() {
    $('.platform_category').each(function() {
        if ($(this).find('a').html() == "") {
             $(this).hide();
       }
    }); 
});
于 2012-06-12T15:01:35.397 に答える
-1
$('.platform_category').each(function() {
    if ($.trim( $(this).text() )  ==  "") {
        $(this).hide();
    }
});
于 2012-06-12T14:55:25.687 に答える