ループ内の各リンク オブジェクトにonclickを付けるのに問題があります。リンクをクリックすると、クリックされたものに関係なく、ループ内の最初の項目に関連するデータが常に返されるようです。そのリンクに関連するhrefを取得するには、各リンクをクリックする必要がある場合
以下の例では、クリックされたリンクに関係なく、console.log には常に「http://example.com/link1/」と表示されます。
HTML の例
<li>
<h2><a class="t" href="http://example.com/link1/"><i>Link 1 text</i></a></h2>
<div class="panel" >Content</div>
</li>
<li>
<h2><a class="t" href="http://example.com/link2/"><i>Link 2 text</i></a></h2>
<div class="panel" >Content</div>
</li>
<li>
<h2><a class="t" href="http://example.com/link3/"><i>Link 3 text</i></a></h2>
<div class="panel" >Content</div>
</li>
</ul>
JavaScript:
(function(){
var theh2s = document.getElementById("panelList").getElementsByTagName("h2"),
i = theh2s.length;
while (i--) {
var getTheLinks = theh2s[i].getElementsByTagName("a");
if (getTheLinks){
if (getTheLinks[0].href){
console.log(getTheLinks[0].href);
getTheLinks[0].onclick = function() {
console.log(getTheLinks[0].href);
_gaq.push(['_trackEvent', 'Homepage', 'AB Click - Test B', getTheLinks[0].href]);
};
}
}
}
})();