2015-01-18 4 views
0

у меня есть этот код: то, что мне нужно, это цель первой div.General с помощью ребенка div.myyyy-classs, конечно, без использования каких-либо IDTarget Родитель Div с ребенком Div класса с Jquery

<div class="General"> 
<div class="">hello</div> 
<div class="">hello</div> 
<div class="">hello</div> 
</div> 

<div class="myyyy-classs">hello</div> 


<div class="General"> 
<div class="none">hello</div> 
<div class="none">hello</div> 
<div class="none">hello</div> 
<div class="none">hello</div> 
</div> 

, что я сделал это

$("#Template1").click(function(){ 
    $(".myyyy-classs").closest(".General").html("Its woking") 
}); 
+1

а в чем проблема, которая прекрасно работает до тех пор, как вы добавили JQuery, есть элемент щелкнуть, а код внутри document.ready обработчик – adeneo

+0

@adeneo, не работает , мне просто интересно, есть ли способ сделать это без .closest! –

+1

Ваш код выглядит нормально и должен работать. «Самый близкий» - самый эффективный способ сделать это. Я не могу себе представить, почему вы не захотите использовать ближайший, но вы также можете сделать '$ (". Myyyy-classs "). Parents (". General "). First()' – Ozan

ответ

1

Update:

После обновления вашего вы будете использовать .sib ling().

$("#Template1").click(function(){ 
 
    $(".myyyy-classs").siblings(".General").html("Its woking") 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<span id='Template1'>Click Me</span> 
 
<div class="General"> 
 
<div class="">hello</div> 
 
<div class="">hello</div> 
 
<div class="">hello</div> 
 
</div> 
 
<div class="myyyy-classs">hello</div> 
 

 
<div class="General"> 
 
<div class="none">hello</div> 
 
<div class="none">hello</div> 
 
<div class="none">hello</div> 
 
<div class="none">hello</div> 
 
</div>

Update 2 выше один будет выбрать как .General.Secondly, если вы хотите, чтобы выбрать предыдущий .Каталог использовать .prev ('Общее') и/или для затем вы можете использовать .next ('. General').

Дополнительные .prevAll() и .nextAll() - это функции для выбора всех предыдущих элементов элемента соответствия или следующих элементов относительно.

+0

извините mohammed, а как насчет того, если .General не родительский и он в другом div –

+0

На самом деле, я не понимаю вас. То, что вы хотите выбрать, это myyy-классы со своим родителем, что он. Общий. Но если вы хотите выбрать смещенный родитель, используйте функцию .offsetParent(). –

0

Похоже, что .Каталог не является родительской DIV, а родной брат, так что используйте это:

$(".myyyy-classs").siblings(".General"); 

Пожалуйста, обратите внимание, что это будет возвращать все братья и сестры, как массив, так что если вы хотите только первый один использование этого:

$(".myyyy-classs").siblings(".General").get(0); 
Смежные вопросы