PHP, jQuery, выбирая все div внутри родительского div - PullRequest
1 голос
/ 21 июня 2010

Я ищу обобщенную функцию селектора, которая выполняет следующее:

$(".data").click(function(){
   //insert proper selector
)};

<div class="one">
<div class="data">text</div>
<div class="data">text</div>
<div class="data">text</div>
</div>

<div class="two">
<div class="data">text</div>
<div class="data">text</div>
<div class="data">text</div>
</div>

Я хочу, чтобы селектор делал следующее:

1).Выберите все div в родительском div (что означает, в том числе тот, который вы только что щелкнули).

2).НЕ выбирайте div внутри другого «родительского» div.

Я также понял, что было бы здорово, если бы вы могли отфильтровать $ (this) (div, на который вы щелкнули) из выбранных элементов.Считайте, что это бонусный вопрос:)

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

Ответы [ 4 ]

5 голосов
/ 21 июня 2010

.siblings() выбирает братьев и сестер того, кто был нажат* http://jsfiddle.net/sc23L/

$(".data").click(function(){
     // reference the one that was clicked
   var $clicked = $(this);

     // reference the entire set
   var $divs = $clicked.siblings().andSelf();
});
1 голос
/ 21 июня 2010

Селектор братьев и сестер не будет извлекать div, на который был нажатжелаю этого ...

1 голос
/ 21 июня 2010

Может быть, вы ищете селектор .siblings()?

$('.data').click(function() {
   $(this).siblings('.data').andSelf()
)};

Предполагается, что вы хотите выбрать все элементы .data, которые являются родственными для текущего выбранного элемента..andSelf() добавляет текущий элемент к выделению.

0 голосов
/ 21 июня 2010

Хорошо, для других ваших запросов

$(".data").click(function(){
   $(this); //code for the clicked element
   $(this).parent(); //code for parent of clicked element
   $(this).siblings(); //code for siblings
)};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...