2012-02-29 7 views
1

をリンクするためにJavaScriptを追加します。付属のクラス「ダウンロード」を持っているリンクを探してください)特定のクラスとのリンクを見つけて、二つのことやろうとして

1。 2)その場合は、テストの手段としてリンク

にいくつかのGoogleのイベントトラッキングコードを追加し、ここで私がこれまで持っているものです。

​<a href="#" class="download">Test</a> 

$(document).ready(function(e) { 
if ($(a).is('.download')){ 
     $(a).append('onclick="_gaq.push(['_trackEvent', 'Podcasts', 'Download', 'Title']);"'); 
     } 
} 

がこの仕事を得るように見えることはできません、althought私は思う(希望)私は正しいアイデアを持っています。助言がありますか?

ありがとうございます!

答えて

2
$(function() { 
    $('a.download').click(function(e) { 
    e.preventDefault(); 
    var $a = $(this); 
     // $a is the anchor that was clicked. you can access attributes or its text to populate the _gaq.push call below. e.g. var text = $a.text(); 
    _gaq.push(['_trackEvent', 'Podcasts', 'Download', $a.attr('href')]); 
    }); 
}); 
1

代わりis()のクラスセレクタを使用してください。 aは定義されていないので、コードはjsエラーとなります。そのため、定義されていない変数として扱われます。

$(document).ready(function(e) { 
    $('a.download').click(function(){ 
     _gaq.push(['_trackEvent', 'Podcasts', 'Download', this.href]); 
     return false; 
    }); 
}); 

クラスセレクタリファレンス - http://api.jquery.com/class-selector/

サイドノートとしてis()チェック現在の一致セレクタ、要素、またはjQueryオブジェクトに対する要素のセット及びこれらの元素のうちの少なくとも一方が所定の一致した場合にtrueを返します議論

+0

私のこの問題は、ページにいくつかのリンクがあり、それぞれが異なるタイトルを持っているということです。私は、これらのファイルが接続されているメディアファイルを引き出すために、これをさらに追加する必要があると思います。 – ndisdabest

+0

セレクタを必要に応じて変更して、ページ上の必要なアンカー要素のみを選択することができます。そしてあなたはタイトルではなくクラスを言いました。 – ShankarSangoli

+0

リンクの「href」を含むようにリンクをクリックすると、 'Title'部分を変更する方法はありますか?たぶん、var title = $( 'a.download')を追加するようなものかもしれません。attr( 'href');そこで? – ndisdabest

0
​​

これは、あなたが欲しいものを行う必要があります。

関連する問題