Javascript 访问IFrame';使用Prototype$方法的s元素

Javascript 访问IFrame';使用Prototype$方法的s元素,javascript,iframe,prototypejs,Javascript,Iframe,Prototypejs,使用prototype js库,我可以使用$(elementID)访问元素。我可以通过以下方式访问Iframe中的元素 $('iframeID').contentWindow.document.getElementById('ID of element inside Iframe'). 我希望对Iframe使用相同的美元方法来访问Iframe中的元素。有什么办法吗?您可以使用类似以下内容的别名调用iframe: var $IFRAME = function (id){ return

使用prototype js库,我可以使用
$(elementID)
访问元素。我可以通过以下方式访问Iframe中的元素

$('iframeID').contentWindow.document.getElementById('ID of element inside Iframe'). 

我希望对Iframe使用相同的美元方法来访问Iframe中的元素。有什么办法吗?

您可以使用类似以下内容的别名调用
iframe

var $IFRAME = function (id){
    return $('iframeID').contentWindow.document.getElementById(id);
}
然后,假设您想要获取该框架中id为“p1”的元素的innerHTML,您可以执行以下操作:

var x = $IFRAME('p1').innerHTML;
alert(x);
或者要操纵它,例如隐藏它,您可以执行以下操作:

$IFRAME('p1').hide();

函数的
$IFRAME
名称对我来说是任意的,你可以叫它
getElementInsideIFrameID
或者任何你喜欢的名字。

如果你想知道这个方法,你可以访问链接(搜索后我得到了链接)

你可以在这里观看演示


谢谢。

例如,$IFRAME('p1').hide();不起作用,而Element.hide($IFRAME('p1')将起作用。我想要的是扩展IFrame中的元素,使其具有与prototype js相同的功能。将prototype.js添加到IFrame的“src”中,使其具有功能,即$IFrame('p1')。hide()可以工作。我已经测试了IE和FF。但是,如果src IFrame没有prototype.js,它将无法工作。如何在不添加prototype.js的情况下实现这一点?在我使用最新版本的prototype进行的测试中,在本地调用$IFRAME('p1').hide();在包含iframe的页面中为我工作。也许在线设置一个测试页面,我们可以更仔细地了解可能发生的情况。我已在添加了一个测试,请检查。我在您的网站上尝试过,但在我的浏览器IE8中,它出错了。不过,我将制作另一个页面,其中srcFrame包含prototype.js,让我向您展示为$Iframe('id').hide()工作的代码