4

以下は、JavaScriptでDOMを使用してトラバースしようとしているいくつかのフレームのコードスニペットです。document.getElementById('raiseConfirm').click()FFとIEで使用できます。サファリでは動作しません。私は、IDraiseConfirmを使用してアンカーに到達するためにさまざまなことを試みました。document.getElementById()この場合、このフレーム内の要素が見つからないように見えます。、、、、、のようにフレームに名前を付けてみました。window.documentこれをテストするとself.document、ドキュメントはオブジェクトであり、その中に物が含まれていますが、関数を使用しようとするとすぐに、または。contentWindowcontentDocumentwindow.frames['gvdd'].documentgetElementById()undefinednull

誰かが私に正しい解決策を教えてもらえますか?

  <form method=​"POST" 
        action=​"somescript.asp?CMD=POST&​TODO=TRUE2" 
        id=​"FORMSV2DISPLAY"
        name=​"FORMSV2DISPLAY">​
    <a id=​"raiseConfirm" href=​"#divConfirm" class=​"nyroModal">HERE IT IS​&lt;/a> 
    <div id="divConfirm" style=​"display:​none;​">​…​&lt;/div>​ 
4

4 に答える 4

1

前にこれを言おうとしたのですが、変な投稿をしてしまいました。JQueryを使用してこの問題を修正できました。これが私がしたことです。

      $("#raiseConfirm").trigger("click");
于 2012-05-25T18:17:55.900 に答える
1

jqueryを使用できます:

$('#raiseConfirm')

それは確かにすべてのブラウザで動作します。それがjqueryの魔法です:)

クリック イベントにアタッチする場合は、次のようにします。

$(document).ready(function () {
    $("#raiseConfirm").click(doSomenthing);
});

var doSomenthing = function () {
    /* Something I do here */
}
于 2012-05-25T15:00:02.363 に答える
1

document.getElementById() はサファリでは機能しません。代わりに document.all を使用する必要があります... したがって、JQuery は、すべてのブラウザーでサポートされている場所に現れます。これは、Javascript と JQuery の使用場所の大きな違いです。

于 2013-11-24T17:21:41.747 に答える
0

JSFiddleでこれを試しました。jQuery なしでは Safari で動作させることができませんでした。

http://jsfiddle.net/belthasar/Zct4S/

于 2012-05-25T15:09:56.040 に答える