Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.09.2011, 14:49
Профессор
Отправить личное сообщение для FRIE Посмотреть профиль Найти все сообщения от FRIE
 
Регистрация: 25.02.2010
Сообщений: 218

Как добраться до потомка родителя родителя?
Вот такой у меня хтмл

<div class='comment'>
                	<div class='info'>
                        <a href='JavaScript:void(0);' class='link_comment'> <span>Коментарии</span></a>
                    </div>
                    <div class='picture'>
                    </div>
                    <div class='comment_text' style='display:none;'></div>
                    <div class="dashed_line"></div>
                 </div>


По нажатию на ссылку "комментарии" я хочу чтобы у меня div class='comment_text' приобрёл свойство display:block.

$(document).ready(function(){
	$(".link_comment").click(function () {
		$('div.review_text').css('display', 'block');
	})
							})

Но, таких div class='comment_text' у меня несколь ко на странице, а мне нужно открыть конкретный, тоесть сложность состоит в том, чтобы добраться до родителя родителя (можно сказать дедушки) относительно нажатой ссылки, и применить стиль к потомку с классом .review_text . Читал инфу в инете но чето не вьехал.

Помогите пожалуйста разобраться
Ответить с цитированием
  #2 (permalink)  
Старый 28.09.2011, 14:56
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,217

Сообщение от FRIE
добраться до родителя родителя (можно сказать дедушки) относительно нажатой ссылки
http://jquery-docs.ru/traversing/parent/

$(document).ready(function(){
	$(".link_comment").click(function () {
		$('div.review_text').parent().parent()
	})
})


Либо
http://jquery-docs.ru/Traversing/parents/#expr

$(document).ready(function(){
	$(".link_comment").click(function () {
		$('div.review_text').parents('comment')
	})
})

Последний раз редактировалось ksa, 28.09.2011 в 15:01.
Ответить с цитированием
  #3 (permalink)  
Старый 28.09.2011, 15:15
Профессор
Отправить личное сообщение для FRIE Посмотреть профиль Найти все сообщения от FRIE
 
Регистрация: 25.02.2010
Сообщений: 218

ни так ни так не работает. И к тому же мне нужно произвести изменение с элементом который состоит в том же диве что и на нажатая ссылка .link_comment тоесть еще тут должно быть this
Ответить с цитированием
  #4 (permalink)  
Старый 28.09.2011, 15:28
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,217

Сообщение от FRIE
ни так ни так не работает
Экий ты неугомон... Я всёже первый день только с тем ЖиКвери дело имею...

<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<style type="text/css">
</style>
<script type="text/javascript">
$(document).ready(function(){
	$(".link_comment").click(function () {
		$(this).parent().parent().find('.comment_text').css('display', 'block');
	})
})
</script>
</head>
<body>
<div class='comment'>
	<div class='info'>
		<a href='JavaScript:void(0);' class='link_comment'> <span>Коментарии</span></a>
	</div>
	<div class='picture'>
	</div>
	<div class='comment_text' style='display:none;'>comment_text</div>
	<div class="dashed_line"></div>
</div>
</body>
</html>

Последний раз редактировалось ksa, 28.09.2011 в 15:30.
Ответить с цитированием
  #5 (permalink)  
Старый 28.09.2011, 15:36
Профессор
Отправить личное сообщение для FRIE Посмотреть профиль Найти все сообщения от FRIE
 
Регистрация: 25.02.2010
Сообщений: 218

$(this).parent().parent().find('.comment_text').cs s('display', 'block');

Спасибо огромное! выручил реально
Ответить с цитированием
  #6 (permalink)  
Старый 28.09.2011, 15:37
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

я бы сделал попроще.

$(document).ready(function() {
    // делегирование событий. комментов та много будет ?
    $(".comment").delegate(".link_comment", "click", function(e){
        // поднимаемся до общего родителя и опускаемся до этого элемента
        $(this).parents(".comment").find(".comment_text").
                                                        //что делаем с ним
*!*
                                                        toggle()
*/!*

    });
    
})

в принципе, красную строчку можно заменить на show(), тогда элемент не будет скрываться при посторном нажатии.

пример
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<style type="text/css">
</style>
<script type="text/javascript">
$(document).ready(function() {
    
    $(".comment").delegate(".link_comment", "click", function(e){
        $(this).parents(".comment").find(".comment_text").toggle()
    });
    
})
</script>
</head>
<body>
<div class='comment'>
	<div class='info'>
		<a href='JavaScript:void(0);' class='link_comment'> <span>Коментарии</span></a>
	</div>
	<div class='picture'>
	</div>
	<div class='comment_text' style='display:none;'>comment_text</div>
	<div class="dashed_line"></div>
</div>
</body>
</html>



PS. ksa, О_о
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как обратиться к childNode по его id в div-е, через id родителя kichSman Events/DOM/Window 5 28.10.2009 02:16
Как правильно послать XML в POST запросе LowCoder AJAX и COMET 10 15.07.2009 23:20
Как сделать чтобы text() брал только текст родителя без текста вложенных контейнеров? Andrey32 jQuery 3 23.05.2009 01:33
Как поменять местами элементы в дереве элемента родителя? rar11 Events/DOM/Window 8 01.04.2009 18:53
Как передеть css файл родителя фрейму? Zeal Events/DOM/Window 9 21.10.2008 16:47