Вот моя скрипка:
http://jsfiddle.net/jamesbrighton/wxWgG/4/
HTML:
<div>
<p class="click">Click 1</p>
<p>This should be ignored</p>
<p>This should be ignored</p>
<p>This should be ignored</p>
</div>
<div>
<p class="target">Target 1</p>
</div>
<div>
<p class="target">Target 2</p>
</div>
<div>
<p class="click">Click 2</p>
<p>This should be ignored</p>
<p>This should be ignored</p>
<p>This should be ignored</p>
</div>
<div>
<p class="target">Target 3</p>
</div>
<div>
<p class="target">Target 4</p>
</div>
JQuery:
$('.click').click(function() {
$(this).nextAll('.target').css('color','red');
});
Мне это нужно, поэтому, когда вы нажимаете p.click
, следующий p.target
становится красным.
Так что, если вы нажмете 'Click 1'
, 'Target 1'
станет красным. Если вы нажмете 'Click 2'
, тогда 'Target 3'
станет красным.
Как и .find
Я пробовал .closest
и из документации по jQuery мне кажется, что он должен работать. Как видно из HTML, .target
не является потомком .click
, если это имеет значение.