2015-07-11 2 views
-1

Я использую плагин jquery, tooltipster, и каждый раз, когда я пытаюсь получить атрибут элемента hover, который является формой svg, я получаю «undefined», например «$ (это) .attr ('id') ", когда я использую только $ (this) Я получаю " [object] [object] ". Итак, как я могу получить доступ к атрибутам элемента hover/clicked, такого как id, title? Спасибоjquery tooltip - get attr возвращает undefined

$(document).ready(function() { 
    $('circle').tooltipster({ 
     content: $('<span><img src="my-image.png" /><br>' + $(this).attr('id') + '</span>') 
    }); 
}); 

ответ

2

this не то, что вы ожидаете, что это будет.

Обычный шаблон для инициализации плагина, для которого требуются данные конкретного элемента, переданные параметрам, заключается в инициализации внутри цикла each.

$('circle').each(function(index, element){ 
    // now "this" is the element instance 
    $(this).tooltipster({ 
     content: $('<span><img src="my-image.png" /><br>' + this.id + '</span>') 
    }); 
}); 
+0

вот и все, спасибо, что каждая функция не влияет на производительность слишком сильно? – user1765661

+0

@ пользователь1765661 нет, он не должен. – charlietfl

0

Это то, что вам нужно.

$(document).ready(function() { 
    $('circle').tooltipster({ 
     content: $('<span><img src="my-image.png" /><br>' + $(this).attr('id') + '</span>') 
    }); 
}); 

Держите string part и javascript part ОТДЕЛЬНО.

Объединить его с помощью +, вот так.

'<span><img src="my-image.png" /><br>'+ $ (это) .attr ('ID') +'</span>'

+0

так извините, у меня есть такой код, это была опечатка при написании вопроса. Все еще возвращает undefined:/ – user1765661

+0

@user опечатка, серьезно? Вы не знаете, что существуют такие вещи, как copy-paste? – nicael

+0

Серьезно, я был ** НЕ ** ожидал _typo_ atleast в фрагменте кода. –

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