4

下面是我尝试在 javascript 中使用 DOM 遍历的一些帧的代码片段。我可以document.getElementById('raiseConfirm').click()在 FF 和 IE 中使用。它在野生动物园中不起作用。我尝试了许多不同的方法来尝试使用 ID raiseConfirm 找到锚点。在这种情况下,看起来好像document.getElementById()在此框架中找不到任何元素。我试过window.document, self.document, contentWindow, ,contentDocument我试过这样window.frames['gvdd'].document命名getElementById()框架.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')

它肯定适用于所有浏览器。这就是 jquery 的魔力 :)

如果你想附加到点击事件:

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

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

我之前试过这样说,但它张贴得很奇怪。我能够使用 JQuery 解决这个问题,这就是我所做的。

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

document.getElementById() 在 safari 中不起作用。相反,您需要使用 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 回答