если div содержит текст, удалить класс

-2

Пытаясь удалить шрифт удивительный значок всякий раз, когда сообщение имеет текст в нем,
(добавление класса, который удаляет содержимое класса)

JQuery

if ($('.post-content:contains("Text")').length > 0) {
    $(this).find('h3').addClass('removeFa');
}

index.php

<div class="filter-website">
    <div class="entry" style="background-image: url('<?php echo $thumb['0'];?>')">
        <h2><?php the_title(); ?></h2>
        <?php the_content(); ?>
    </div>
</div>

и это то, что я добавляю в WordPress

<div class="post-content">
    <h3>Blog image</h3>
    <p>Text</p>
</div>
<div class="sep-shadow"></div>

CSS

.removeFa:before, .removeFa:after {
    content: close-quote; 
}

Изображение, чтобы показать вам, что я имею в виду:

Изображение 277605



Я также пытался добавить класс всякий раз, когда есть контент, но это не сработало, но если вы знаете решение для этого PLS, скажите мне: 3 (что, я думаю, было бы неплохо для времени загрузки, так как ему не нужно загружать контент для всех должности вместо добавления нескольких сообщений, но idk исправьте меня, если я ошибаюсь)

2 ответа

1
Лучший ответ

Все, что вам не хватает, это то, что вы пытаетесь найти элемент для добавления класса в неверный. Вместо:

$('.post-content:contains("Text") h3').addClass('removeFa');

Или более целенаправленно:

$('.post-content:has(p:contains("Text")) h3').addClass('removeFa');

Пример (я добавил фон в класс .removeFa):

$('.post-content:has(p:contains("Text")) h3').addClass("removeFa");
.removeFa:before, .removeFa:after {
    content: close-quote; 
}
.removeFa {
  background-color: yellow;
}
<div class="post-content">
    <h3>Blog image</h3>
    <p>Text</p>
</div>
<div class="sep-shadow"></div>
<div class="post-content">
    <h3>Blog image</h3>
    <p>Not a match</p>
</div>
<div class="sep-shadow"></div>
<div class="post-content">
    <h3>Blog image</h3>
    <p>Text</p>
</div>
<div class="sep-shadow"></div>
<div class="post-content">
    <h3>Blog image</h3>
    <p>Text</p>
</div>
<div class="sep-shadow"></div>
<div class="post-content">
    <h3>Blog image</h3>
    <p>Not a match</p>
</div>
<div class="sep-shadow"></div>
<script src="/jquery.min.js"></script>

Примечание: добавление класса для удаления значка шрифта Awesome кажется странным. Я просто удалю класс fa.

  • 0
    да, спасибо! :) и вы, лол, я действительно боролся с этим фильтром, что я пробовал так много вещей, поэтому я все испортил: p
-1

Следующее должно работать. Не уверен, хотя, если я правильно понял.

if ($('.post-content').text().is(':empty')){
  $(this).find('h3').addClass('removeFa');
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню