0

设置

我有时会从 iframe 访问我页面上的内容,有时会从不在 iframe 中的相同内容访问。

问题

我试图找出一种方法来编写一次 javascript 并在声明 var 期间包括访问该内容的两种方法......

到目前为止的例子

var $Holder;

if($('#MyHolder iframe').contents().length > 0) { 
    $Holder = $('#MyHolder iframe');
}
else {
    $Holder = $('#MyHolder');
}

但我不能这样做,因为如果内容在 iframe 中,我需要以这种方式访问​​它:

$Holder.contents().find('#SomeButton').on('click',function(){});

如果内容直接在页面上,这将不起作用。如果我添加 .contents(),这也不起作用。

4

1 回答 1

1

如果我正确理解了这个问题,您应该能够将您的 $Holder 设置为 iframe 的 contents(),如下所示:

var $Holder;

if($('#MyHolder iframe').contents().length > 0) { 
    $Holder = $('#MyHolder iframe').contents();
}
else {
    $Holder = $('#MyHolder');
}

然后你应该能够在任何一种情况下访问元素,如下所示:

$Holder.find('#SomeButton').on('click',function(){});
于 2013-10-08T20:08:22.363 回答