jQuery - поиск предыдущего селектора относительно текущего - PullRequest
3 голосов
/ 14 июня 2010

У меня есть форма с 3 разделами.В каждом разделе есть отдельный div для довольно длинных сообщений контекстной справки, касающихся ввода, которое имеет фокус.

Мой вопрос заключается в том, что если я дам каждому из этих разделов помощи div-класс "form-tip" и каждый вход, имеющийПодсказка классу "has-tip", как я могу получить подсказку, которая всегда будет отображаться в предыдущем div "form-tip"?

Что-то вроде:

$('.has-tip').each(focus(function() {
    var tip = $(this).attr('title');
    // Find most recent $('.form-tip') in the DOM and populate it with tip
}));

Я надеюсьэто имеет смысл ... Спасибо за любую помощь.

Ответы [ 2 ]

2 голосов
/ 14 июня 2010

Если .has-tip является потомком .form-tip, то вы можете использовать .closest() следующим образом:

$('.has-tip').each(focus(function() {
    var tip = $(this).attr('title');
    var ft = $(this).closest('.form-tip');
    // Find most recent $('.form-tip') in the DOM and populate it with tip
}));

Если это брат, вы можете использовать .prev('.form-tip') или если это не сразу раньше, то это .prevAll('.form-tip: first').

1 голос
/ 14 июня 2010
var container = $(this).closest('.form-tip')

в пределах .each, если я правильно понял.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...