JavaScript单击图像按钮

时间:2012-06-21 21:56:39

标签: javascript image button click submit

这是关于点击JavaScript按钮的第二个问题,但是这个我真的很喜欢:我正在尝试点击带有javascript的图片按钮但是没有太多可以继续,因为源只提供有关图像按钮

<div id="claimBtnDv" style="bottom:-30px; position:absolute; right:0; margin-top:0;">
    <input type="image" class="btnClaim" src="websitebuttonimage" onclick="alert('buttonclicked');">
</div>  

我尝试document.getElementById('claimBtnDv').click()但没有成功,还有其他方法可供使用吗?

3 个答案:

答案 0 :(得分:3)

如果您无法更改HTML并且需要使用javascript单击图像,则可以进入子节点以查找图像。这很简单,因为提供了类名。

var nodes = document.getElementById('claimBtnDv').childNodes;

for ( i = 0; i < nodes.length; i++ ) {
    if ( nodes[i].className === "btnClaim" ) {
        console.log("clicking!");
        nodes[i].click();
        break;
    }
}

答案 1 :(得分:1)

您的代码几乎可以运作 - 只需将class="btnClaim"更改为id="btnClaim" - getElementById即可 - http://jsfiddle.net/wMRbn/1/

document.getElementById('btnClaim').onclick = function () {
    alert ( "click" );
}​

<强>更新 要获取没有id的元素,您可以执行此操作 - 通过id获取父元素并将事件侦听器附加到其“input子级 - http://jsfiddle.net/wMRbn/3/

var img = document.getElementById("claimBtnDv").getElementsByTagName("input")[0];
img.onclick = function () {
    alert ( "click" );
}​

答案 2 :(得分:-1)

看起来它适用于那种情况。您是否尝试为其分配不同的点击事件或什么?

jquery允许你做类似的事情:

$("input.btnClaim").click(function(){
  //in here can go a lot more functions, etc.
});

javascript会做(在你给它一个'btnClaim'的id之后):

var X = document.getElementById("btnClaim");
x.onclick = "JAVASCRIPT GOES HERE";  
//from what the wc3 doc looks like, you need to have it in quotes, 
//   but i may be mistaken.

也许这有帮助?