jimmykoks
@jimmykoks

Как в php или js создать подобное условие?

Например имеются несколько страниц с div.category_1 и несколько страниц с div.category_2.
ТЫК

Страница 1
<div id="product-56" class="container category_1">
	<div class="meta">
		<div class="title">Заголовок</div>
		<div class="description">Описание</div>
		<div class="price">1000</div>
		<div class="after_price"> </div>
	</div>
</div>

Страница 2
<div id="product-118" class="container category_2">
	<div class="meta">
		<div class="title">Заголовок</div>
		<div class="description">Описание</div>
		<div class="price">1000</div>
		<div class="after_price"> </div>
	</div>
</div>


Как создать PHP условие
if .category_2 {
echo '<div class="after_price">Какой-то текст</div>';
} else {
echo '<div class="after_price"> </div>';
}


Пробую JS, что-то не выходит.
JS
jQuery(document).ready(
	function($) {
		var $text = 'Какой-то текст';
		var $empty = '';
		var $class = document.getElementsByClassName('category_2')[0];
		if ($class = true) {
			$('after_price').text($text);
		} else {
			$('after_price').text($empty);
		}
	});

  • Вопрос задан
  • 282 просмотра
Решения вопроса 1
Immortal_pony
@Immortal_pony Куратор тега PHP
Ищите afer_price только в нужной карточке
Как-то так:
$('[id^="product"]').each(function() { 
    var card = $(this);
    if (card.hasClass('category_2')) {
    	card.find('.after_price').text('Какой-то текст');
    } 
});


Можно чуть покороче и более похоже на ваш код:
$('.category_2').each(function() { 
    $(this).find('.after_price').text('Какой-то текст');
});


Fiddle: https://jsfiddle.net/ygu2j7m1/
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@abberati
frontend-разработчик
вы вместо оператора сравнения используете оператор присваивания

// так правильно
if ($class) { ... } else { ... }

// или так, но менее правильно, т.к. в $class не булево значение
if ($class == true) { ... } else { ... }
Ответ написан
Konata69lol
@Konata69lol
backend developer (php/go)
<?php if(condition): ?>
    тут кусок верстки, если условие выполнено
<?php else:?>
    тут кусок верстки, если не выполнено
<?php endif;?>
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
21 нояб. 2024, в 23:30
300000 руб./за проект
21 нояб. 2024, в 22:21
3000 руб./в час
21 нояб. 2024, в 21:42
100000 руб./за проект