Подтвердить что ты не робот

Если div имеет контент show div

ok heres, что у меня есть... он отлично работает, но ищет слово, а не контент. я просто хочу, чтобы он показывал, когда есть какой-либо контент.

 $(document).ready(function(){
       if ($("#box3:contains('Product')").length) {
          $('#third').show();
       }                                           
    });

Я не думаю, что вам нужен html для этого

он ищет "Продукт", как я могу заставить его просто искать контент > 0

<div id="first" class="tab" >
    <div class="tabtxt">
        <a>DETAILS</a>
    </div>
</div>
<div class="tab" id="second">
    <div class="tabtxt">
        <a>INSPIRATION</a>
    </div>
</div>
<div class="tab" id="third" style="display:none">
    <div class="tabtxt">
        <a>NOTES</a>
    </div>
</div>

<div class="boxholder">
    <div style="overflow: hidden; display:block" class="box" id="box1">
        <div style="padding: 10px; line-height:16px">
            %%Panel.ProductDescription%%
        </div>
    </div>
    <div style="overflow: hidden; display:none" class="box" id="box2">
        <div style="padding: 10px; line-height:16px">
            %%Panel.ProductWarranty%%
        </div>
    </div>
    <div style="overflow: hidden; display:none" class="box" id="box3">
        <div style="padding: 10px; line-height:16px">
            %%Panel.UPC%%
        </div>
    </div>
</div>

его корзину покупок в магазине, так что %% panel.upc %% вызывает что-то, вставленное через панель администратора. в этом случае, если нет ничего.. он отображается как пробел в коде (источник просмотра в браузере).

4b9b3361

Ответ 1

Если вы хотите проверить текст, вы можете использовать метод text():

 $(document).ready(function(){
   if ($("#box3").text().length > 0) {
     $('#third').show();
   }                                           
 });

Или для html:

 $(document).ready(function(){
   if ($("#box3").html().length > 0) {
     $('#third').show();
   }                                           
 });

Ответ 2

Для обновленного вопроса: проверьте обрезанный текст внутреннего <div>, например:

 if ($.trim($("#box3 div").html())) {
   $('#third').show();
 }  

Предыдущий ответ: Если вы хотите показать, есть ли у него что-нибудь, то :not() от :empty работает:

 if ($("#box3:not(:empty)").length) {
   $('#third').show();
 }  

Если вы хотите проверить какие-либо элементы (возможно, не только пробелы), используйте :has(*), например:

 if ($("#box3:has(*)").length) {
   $('#third').show();
 }  

Ответ 3

Вы также можете проверить длину HTML в селекторе:

if ($("#box3").html().length) {
    $('#third').show();
}       

Ответ 4

Вы также можете использовать селектор CSS3 :empty

div#empty-div:empty {
   display: none;
}

Селектор :empty предназначен только для пустых элементов без пробела.