2015-01-28 2 views
1

Я хотел бы проверить, не содержит ли ссылка ссылки на URL-адрес, и если да, добавьте атрибут onclick (для отслеживания Google Analytics). Я могу сделать это, но не могу понять, как добавить href фактической ссылки в новый атрибут.jQuery: добавление атрибута и включение значения href

Например, если я хочу, чтобы только целевые ссылки, которые не содержат «example.com», я могу это сделать:

$('a:not([href*="example.com"])').attr("onclick","_gaq.push(['_trackEvent','clickout-see-also','web','www.blah.com']);"); 

Как я могу заменить «www.blah.com» с фактическое значение href? Я предполагаю, что это связано с this.href, но не может получить эту работу ... Я попытался следующие, но только что получил undefined:

$('a:not([href*="example.com"])').attr("onclick","_gaq.push(['_trackEvent','clickout-see-also','web'," + $(this).attr('href') + "]);"); 

Любая помощь будет оценена.

Благодаря

ответ

1

Попробуйте использовать функцию приемника .attr() добиться того, что вы хотите,

$('a:not([href*="example.com"])').attr("onclick", function(){ 
    return "_gaq.push(['_trackEvent','clickout-see-also','web','" + $(this).attr('href') + "']);" 
}); 
+2

Perfect - работает с полезным объяснением. Спасибо – neil

+0

@neil Рад помочь.! :) –

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