Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   не могу Найти элемент =( (https://javascript.ru/forum/dom-window/54597-ne-mogu-najjti-ehlement-%3D.html)

wmag 24.03.2015 09:30

не могу Найти элемент =(
 
есть много вот таких вот блоков на страничке

<div class="sample">
                                    <h4>Дизайнер кухонь</h4>
                                    <img src="http://mini.s-shot.ru/1280x800/JPEG/200/Z100/">

                                    <p class="description">
                                        Дизайнер кухонь
                                    </p>
                                    <a href="/done/pack40/40" target="_blank" class="look">Посмотреть</a>
                                    <a href="#" data-reveal-id="get_download" class="look load">Скачать</a>
                                    <a href="#" data-reveal-id="get_adapt" class="look adapt">Адаптировать для меня!</a>
                                </div>


пишу скрипт, что бы при нажатии на "Адаптировать для меня!" (последняя ссылка), скрипт находил содержание <h4>***</h4> (который стоит на 5 строк выше)

пробую делать так:
$('.adapt').on('click',function() {
                    var button=$(this);
                    var text = button.prev('.look').prev('.look').attr('href');
                    text = text + '  :  '+ button.prev('h4').val();
                    alert(button.parent('h4').val());
                    console.info(button.prev());
                    alert(button.parent('h4').html());
                    $('input[name=landcopy]').val(text);

                });


ничего не отлавливается =((

help-help, идеи кончились

Skipp 24.03.2015 09:37

$('.adapt').on('click',function() {
                    alert($(this).prev('h4').text());
});

рони 24.03.2015 09:38

wmag,
:-?
$(function(){
       $('.adapt').on('click',function() {
                    var parent = $(this).parent();
                    alert($('h4',parent).html());
                });
});

рони 24.03.2015 09:39

Skipp,
:no:

wmag 24.03.2015 09:52

Skipp, так не работает.
Рони, спасибо, запахало.

Рони, а почему Prev() в данной ситуации не отрабатывало, ведь, как я понимаю, элемент стоит на одном уровне?

Skipp 24.03.2015 10:06

Чёт я затупил:D

Нубопрогер 24.03.2015 10:11

$("[class ~= '.adapt']").on('click',function() {
                    var button=$(this);
                    var text = button.prev('.look').prev('.look').attr('href');
                    text = text + '  :  '+ button.prev('h4').val();
                    alert(button.parent('h4').val());
                    console.info(button.prev());
                    alert(button.parent('h4').html());
                    $('input[name=landcopy]').val(text);

                });

рони 24.03.2015 10:43

Цитата:

Сообщение от wmag
почему Prev() в данной ситуации не отрабатывало

потому что предыдущий элемент ссылка load
Цитата:

Сообщение от wmag
элемент стоит на одном уровне?

можно тогда так
$(this).siblings('h4').html()

рони 24.03.2015 10:49

wmag,
вариант с prev -- только это плохой код :)
$(this).prev().prev().prev().prev().prev().html()


Часовой пояс GMT +3, время: 20:28.