Как выбрать элемент по расстоянию, если он не родитель или потомок - PullRequest
0 голосов
/ 01 октября 2011

Я работаю над редактированием плагина всплывающей подсказки (TooltipsY), чтобы использовать div вместо элемента title для содержимого всплывающей подсказки. Я делаю это по множеству причин, основной из которых является то, что я могу иметь HTML-код в моих подсказках, не вызывая ошибок проверки.

Проблема, с которой я столкнулся, заключается в том, что при изменении содержимого всплывающей подсказки на div вместо атрибута title каждая ссылка с всплывающей подсказкой отображает одинаковое содержимое всплывающей подсказки. Это потому, что div никак не связаны со ссылками, поэтому я не могу использовать «this» для их выбора.

Это сработало бы, если бы я знал какой-нибудь способ изменить $('div.showtip').html(); на this.closest($('div.showtip').html()); (этот метод не сработает, потому что div не является родительским или дочерним для ссылки), так как я могу сделать содержимое всплывающей подсказки ближайший div к ссылке, которая находится над?

Вот мой пример: http://jsfiddle.net/sgCCD/2/

Примечание: Единственное, что необходимо изменить, - это значение переменной showtip.

Кроме того, я не хочу предлагать другой плагин всплывающей подсказки, я делаю это для своего личного опыта так же, как и для улучшения функциональности плагина.

1 Ответ

1 голос
/ 01 октября 2011

Надеюсь, это то, что вы ищете:

http://jsfiddle.net/sgCCD/3/

изменил эту строку:

var showtip = $('div.showtip').html();

на это:

var showtip = $(el).next().html();

...