Я думаю, что ваша проблема в том, что они:
text: $(this).find('.contactinfo')
// ...
target: $(this).find('.contactname')
Оцениваются при вызове $('.contacttr').qtip()
, а не при активации qTip. Таким образом, this
не будет <tr>
, а .find
не найдет элементы, которые вы ожидаете.
Самое простое решение - обернуть привязку qTip в .each
:
$('.contacttr').each(function() {
var $this = $(this);
$this.qtip({
content: {
text: $this.find('.contactinfo')
},
position: {
my: 'bottom center',
at: 'center',
target: $this.find('.contactname')
}
});
});
Тогда this
будет <tr>
таким, каким вы хотите его видеть при оценке $this.find('.contactinfo')
и $this.find('.contactname')
.
Возможно, вы сможете использовать callbacks для динамического создания всплывающей подсказки, но я недостаточно знаком с qTip, чтобы знать, насколько хорошо это будет работать.