Javascript:将内联代码注入html标记

时间:2013-03-05 15:59:04

标签: javascript google-analytics inline inject

我想将我的Google Analytics跟踪事件代码内联添加到我的输入 html标记中:

<input class="addtobag">

拥有一些东西

<input class="addtobag" onClick="_gaq.push(['_trackEvent', 'Videos', 'Play', 'Baby\'s First Birthday']);">

我问这个,因为我无权访问包含标记的文件,因此我无法手动进行更改,所以我正在寻找一个我将放在中的javascript代码head 所以当该页面加载时,跟踪事件代码将自动注入。

我希望通过输入类进行通话,而不是通过 id 进行通话。

2 个答案:

答案 0 :(得分:2)

你为什么要内联呢?

document.getElementById('ctl00_mainContentPlaceHolder_lvLookProducts_ctrl0_buyArea3493_btnAddToCart').onclick = function () {
    _gaq.push(['_trackEvent', 'Videos', 'Play', 'Baby\'s First Birthday']);
};

要按类名做,你需要做更多的逻辑:

var inputs = document.getElementsByClassName('AddToBag'),
    i = inputs.length;

while(i--) {
    inputs[i].onclick = function () {
        _gaq.push(['_trackEvent', 'Videos', 'Play', 'Baby\'s First Birthday']);
    }; 
}

按类名提取会返回一个列表,因此您必须循环才能应用处理程序。

答案 1 :(得分:-1)

jQuery是你的朋友。

How to replace innerHTML of a div using jQuery?

$("#regTitle").html("Hello World");

修改

猜猜我没有看过这个,但仍然是相同的原则。

$(".addtobag").click(_gaq.push(['_trackEvent', 'Videos', 'Play', 'Baby\'s First Birthday']));

http://api.jquery.com/click/