【问题标题】:JavaScript Click Image ButtonJavaScript 单击图像按钮
【发布时间】:2012-06-24 05:33:15
【问题描述】:

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

【问题讨论】:

  • 它对我有用 - jsfiddle.net/wMRbn
  • 您在使用 document.getElementById('claimBtnDv').click() 时收到消息“按钮单击”?

标签: javascript image button click submit


【解决方案1】:

如果您无法更改 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;
    }
}

【讨论】:

  • 你是对的。更新了代码。虽然,它不会导致错误,因为无论如何循环都会在最后一个节点之后退出。
【解决方案2】:

您的代码几乎可以工作 - 只需将您的 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" );
}​

【讨论】:

  • 如果可以的话,我会更改它,但这就是网页输出的来源,您不能按类名单击图像按钮吗?
【解决方案3】:

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

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.

也许这有帮助?

【讨论】:

  • 我尝试了引用,但它仍然不起作用,我只是在测试我是否可以通过 document.getElementById() 点击它,没有其他方法可以做到这一点吗?
  • 不正确。对于onclick,您应该提供一个函数,而不是字符串。
  • 是的,我知道。我只是从 wc3 复制....w3schools.com/jsref/event_onclick.asp 我想我忘了定义“javascript 放在这里”是什么意思。
猜你喜欢
  • 2019-01-31
  • 1970-01-01
  • 1970-01-01
  • 2011-08-14
  • 2011-06-16
  • 1970-01-01
  • 2012-10-24
  • 2016-12-01
  • 2020-05-25
相关资源
最近更新 更多