2017-02-09 3 views
1

В Tooltipster, может быть что-то вроде self.next() или self.children() использовать как data-tooltip-content?Выберите дочерние элементы (или преемники) как содержимое

Если элемент с class="tooltip" указывает на именованный элемент, этот именованный элемент будет содержимым всплывающей подсказки. Круто. Ниже список функций появляется, когда номер модели затушевывается.

Есть ли способ сделать это без предоставления отдельного id каждому элементу контента? Могу ли я сказать Tooltipster просто использовать следующий элемент?

<style type="text/css"> 
    .tooltip-content {display:none} 
    .tooltipster-base .tooltip-content {display:block} 
</style> 

<span class="tooltip" data-tooltip-content="#tc1">Model 2000X</span> 
<ul class="tooltip-content" id="tc1"> 
    <li>Red</li> 
    <li>Platinum</li> 
    <li>32 cu in.</li> 
</ul> 

<span class="tooltip" data-tooltip-content="#tc2">Model 3000X</span> 
<ul class="tooltip-content" id="tc2"> 
    <li>Blue</li> 
    <li>Gold</li> 
    <li>64 cu in.</li> 
</ul> 

Или, а как насчет детей вместо преемника? Здесь содержание находится внутри диапазона tooltip, а не после него:

<span class="tooltip" data-tooltip-content="#tc1">Model 2000X 
    <ul class="tooltip-content" id="tc1"> 
     <li>Red</li> 
     <li>Platinum</li> 
     <li>32 cu in.</li> 
    </ul> 
</span> 

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

ответ

1

Как насчет

$('.tooltip').tooltipster({ 
    functionInit: function(instance, helper){ 
    instance.content($(helper.origin).next().detach()); 
    } 
}); 

https://jsfiddle.net/5xqqmrt6/33/

+0

Хммм. Может быть. Можете ли вы сказать немного о том, что там происходит? (У скрипки этого нет.) – JPM

+0

Я вижу. http://iamceege.github.io/tooltipster/#callback_arguments. Объектами tooltipster являются объекты jQuery, поэтому мы можем использовать jQuery .next(). и т. д. Я не понимаю, почему именно .detach() используется, но это ставит меня на правильный путь. Спасибо Эван. – JPM

+0

Извините, jsfiddle, похоже, не был сохранен должным образом, это действительно странно. Если вы не отсоединились, элемент останется в DOM до первого появления всплывающей подсказки, вы этого не хотите. –

Смежные вопросы