Javascript - 动态更改链接的“onclick”?

时间:2014-03-04 14:10:01

标签: javascript html onclick

我有这段代码:

<div class="pButton"><a href="javascript:;" onclick="parent.window.close()"></a>

现在,我无法编辑此代码(我无法在链接中添加ID或类..请注意,链接calss不是'pButton','pButton'是链接所在的div类)并且不使用Jquery,有没有办法让我更改onclick以便

onclick="javascript:OpenWindow('popup.htm');"

注意:我不能使用getElementById,因为我无法为链接提供ID或类。我不能做任何事情:

<div class="pButton"><a href="javascript:;" onclick="parent.window.close()"></a>

另外,我使用的是IE8。

1 个答案:

答案 0 :(得分:1)

如果只有一个名为pButton的元素,或者它是第一个,请尝试:

document.getElementsByClassName('pButton')[0].children[0].onclick = "javascript:OpenWindow('popup.htm');"

IE8支持,使用:

document.querySelectorAll('.pButton')[0].children[0].onclick = "javascript:OpenWindow('popup.htm');"

比IE8旧,??,......:

var all = context.getElementsByTagName("div");  /* for catching all div's */
for (i = 0; i < all.length; i++) {
    if (all[i].className && all[i].className == "pButton") {
        all[i].children[0].onclick = "javascript:OpenWindow('popup.htm');"
    }
}