Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Отловить селектор (https://javascript.ru/forum/jquery/54272-otlovit-selektor.html)

soltx 11.03.2015 13:26

Отловить селектор
 
Привет, как при помощи jquery отловить селектор если страницы загружаются при помощи ajax

допустим такой вариант сработал в первый раз
$( document ).ready(function() {

последующие вызовы не работают, то есть загружается страницы посредством ajax, отловить например заголовок не получается

dd_smol 11.03.2015 13:40

$('body').ajaxSuccess(function() {
	// ajax-запрос был удачно выполнен
	// теперь можно поискать в том что пришло
});

soltx 11.03.2015 13:49

Уважаемый не посмотрите что я делаю не так, так как мои манипуляции не проходят

$('body').ajaxSuccess(function() {
    var linkPage = $('h2').text();
    switch (linkPage) {
        case "Дерево":
            $('.discount').before('<div>Деревья</div>')
            break
        case "Фрукты":
            $('.discount').before('<div>Бананы</div>')
            break
    }
});

dd_smol 11.03.2015 13:54

А за чем тут switch? Когда можно обойтись

$('.discount').before($('h2').text());

soltx 11.03.2015 13:59

дело в том что в зависимости от заголовка будет добавляться соответсвующий текст, только я не могу заставить работать свой код

dd_smol 11.03.2015 14:04

пример HTML можно?)

soltx 11.03.2015 14:15

Цитата:

Сообщение от dd_smol (Сообщение 360715)
пример HTML можно?)

Вот пример: при клике по слайдеру, обновляется контент на странице (при помощи ajax ) и мне нужно добавить именно через js небольшой кусок кода смотря какой будет заголовок

<h2>Дерево</h2>
<p>бла бла бла</p>
<div class="price">100 руб</div>


так вот если Заголовок дерево то перед ценой будет добавлен код <div>Some text 1</div>

и так далее обновился контент смотрим заголовок H2 и подставляем новый текст например <h2>Фрукты</h2> то перед ценой добавляем <div>Some text 2</div>

dd_smol 11.03.2015 14:40

Обычно для таких дел атрибут вешается какой ни будь свой с индикатором. А значения запихиваются в массив или объект.
H2 на страницы один? Где от H2 находится DIV с классом .discount? Так же страница обновляется при Ajax полностью или отдельно какой-то блок?

soltx 11.03.2015 15:12

<div id="content-main"> <!-- в этом блоки происходят изменения -->
   
    <h2>Заголовок</h2> <!-- меняется -->

    <div class="text-content"><p> Some text</p> <!-- меняется -->
        <aside class="discount"> 10%</aside> <!-- меняется -->
    </div>
</div>

dd_smol 11.03.2015 15:21

Так попробуйте.

jQuery(function($) {
	$('body').ajaxSuccess(function() {
		var linkPage = $('#content-main h2').text();
		switch ( linkPage.toLowerCase() ) {
			case "дерево": text = 'Деревья'; break
			case "фрукты": text = 'Бананы'; break;
		}
		$('#text-content > p:first').text(text);
	});
});


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