JQuery всплывающие подсказки, получить данные из другого атрибута - PullRequest
0 голосов
/ 12 июля 2011

Из-за моей страницы есть другой плагин jquery, который использует атрибут title, так возможно ли для моих подсказок jquery получить данные из другого атрибута, кроме "title"? http://flowplayer.org/tools/tooltip/index.html#configuration

<span class="something" title="This is title" otherattr="This is the tooltips"></span>

Ответы [ 3 ]

1 голос
/ 12 июля 2011

Если я правильно понимаю документацию jTools Tooltip, если вы установите подсказку с помощью селектора, отличного от $ ("[title]"), он будет использовать элемент, следующий сразу за триггером, в качестве содержимого подсказки.

ИтакВы можете сделать что-то вроде этого:

$(document).ready(function(){
   //place a span  with class tooltip after each element with otherattr attribute placing the otherattr text inside it
   $("[otherattr]").each(function(){
       $(this).after('<span class="tooltip">' + $(this).attr("otherattr") + '</span>');
   });

   //when we initate the tooltip this way it will use the .tooltip span after each element. 
   $("[otherAttr]").tooltip(); 
});
0 голосов
/ 18 сентября 2018

$(".something").tooltip({
    items: '[otherattr]',
    content: function(){ 
        return $(this).attr("otherattr"); 
    }
});
0 голосов
/ 18 июня 2013

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

$(".something").tooltip({
    "content": function(){ 
        return $(this).attr("otherattr"); 
    }
});

Мне пришлось покопаться в некотором исходном коде, чтобы выяснить это, по умолчанию «содержание» всплывающей подсказки можно найти, выполнив

$(".something").tooltip("option", "content")

и увидите, что он возвращает:

function (){var e=t(this).attr("title")||"";return t("<a>").text(e).html()}

Так что просто напишите свое собственное вместо использования функции по умолчанию. Надеюсь, это поможет!

...