Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript单击图像按钮_Javascript_Image_Button_Click_Submit - Fatal编程技术网

JavaScript单击图像按钮

JavaScript单击图像按钮,javascript,image,button,click,submit,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="websitebuttonim

这是我关于在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')。单击()
,但没有成功,还有其他方法可以使用吗?

在这种情况下,它看起来很有效。您是否正在尝试为其分配不同的单击事件或其他内容

jquery将允许您执行以下操作:

$("input.btnClaim").click(function(){
  //in here can go a lot more functions, etc.
});
javascript可以(在您给它一个'btnClaim'id之后):


也许这会有帮助?

您的代码几乎可以工作-只需将您的
class=“btnClaim”
更改为
id=“btnClaim”
-然后
getElementById
就可以工作了-

更新 要获取没有
id
的元素,您可以这样做-通过
id
获取父元素,并将事件侦听器附加到其'
输入
子元素-


如果无法更改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;
    }
}
var nodes=document.getElementById('claimBtnDv').childNodes;
对于(i=0;i
它对我有效-当您使用document.getElementById('claimBtnDv')时,您会收到“button clicked”消息。click()?我尝试了引号,但仍然无效,我只是测试是否可以通过document单击它。getElementById()是否有其他方法可以执行此操作?不正确。对于
onclick
,您应该提供一个函数,而不是字符串。是的,我知道。我只是从wc3复制。。。。我想我忘了定义“javascript在这里”的含义。如果可以,我会更改它。但是这就是网页源输出的内容,你不能通过它的类名单击图像按钮,对吗?你是对的。更新代码。尽管如此,它不会导致错误,因为循环将在最后一个节点之后退出。
document.getElementById('btnClaim').onclick = function () {
    alert ( "click" );
}​
var img = document.getElementById("claimBtnDv").getElementsByTagName("input")[0];
img.onclick = function () {
    alert ( "click" );
}​
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;
    }
}