1

これはJavaScriptのボタンをクリックすることについての私の2番目の質問ですが、これは私が本当に夢中になっています: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()たが成功しませんでした。他に使用する方法はありますか?

4

3 に答える 3

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;
    }
}
于 2012-06-21T22:27:14.917 に答える
1

あなたのコードはほとんど機能します-あなたclass="btnClaim"をに変更するだけですid="btnClaim"-そしてそれgetElementByIdは機能します-http://jsfiddle.net/wMRbn/1/

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

更新 なしで要素を取得するには、idこれを行うことができます-親要素を取得し、その子idにイベントリスナーをアタッチします-http://jsfiddle.net/wMRbn/3/input

var img = document.getElementById("claimBtnDv").getElementsByTagName("input")[0];
img.onclick = function () {
    alert ( "click" );
}​
于 2012-06-21T22:12:33.740 に答える
-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.

多分それは役立ちますか?

于 2012-06-21T22:06:36.500 に答える