这是关于点击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()
但没有成功,还有其他方法可供使用吗?
答案 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.
也许这有帮助?