Исправление ошибки Uncaught TypeError: undefined is not a function
есть разметка которая выводит по циклу
<li> <img class="portrait" src="assets/images/plants/<?php echo $row_ground['id_plant']; ?>.jpg" alt="<?php echo $row_id_plant['name']; ?>" title="Петрушка" height="48" width="48"> <div> <span class="title"><?php echo $row_id_plant['name']; ?><?php echo $row_ground['id']; ?></span> <span id="harvest" class="small minor"> (Урожай через <span data-countdown-harvest="<?php echo $date_harvest; ?>"></span>) </span> </div> <div id="actions"> <div class="small minor"><span>Полив через <span data-countdown-water="<?php echo $date_water; ?>"></span></span></div> </div> <div style="clear:both"></div> </li> и есть $('[data-countdown-harvest]').each(function () { var $this = $(this), finalDate = $(this).data('countdown-harvest'); $this.countdown(finalDate, function (event) { $this.html(event.strftime('%H часов %M минут %S секунд')).on('finish.countdown', function (event) { $(this).parent() $(this).parent().$("div#actions").replaceWith('<img alt="" src="assets/images/icons/harvest.png" height="16" width="16"> <a href="#">___</a>') }); }); }); пишет вот такую ошибку TypeError: $(...).parent(...).$ is not a function однако если пишу БЕЗ $(this).parent() то добовлять ко всем. Помогите исправить... Зарание Большое спасибо. |
DevOlegKosarev,
вас есть трудно понять но может это вы хочет $(this).parent().parent().addClass('disabled') или $(this).parents('li').addClass('disabled') или $this.parents('li').addClass('disabled') если не помогло то писать макет где проверить |
Цитата:
1) к <span id="harvest" class="small minor"> класс добавился disable 2) и <div id="actions"> заменилась другим текстом Дабился вот чего $(this).parent() .addClass('disabled') .parent().next().replaceWith('<img alt="" src="assets/images/icons/harvest.png" height="16" width="16"> <a href="#">Собрать урожай</a>'); Класс добовляется так как надо. А вот с заменой получяется что он удоляет вначале полнастью <div id="actions"> и что есть внутри и заместо него ставить... Самый простой спосаб конечно засунуть в <div id="actions"> ещё один span например и в него пихать. или в js дописать сам див... Но хочется всё таки понять как рашить... Вить если я писал $("div#actions").replaceWith то какрас и заменялось всё что есть в данном диве... |
Часовой пояс GMT +3, время: 15:08. |