使用Jquery通过一行代码访问iframe中和iframe外的DOM元素



我有一个包含div的页面。

代码

<div id="main_data">My main div</div>

我还在另一个页面(父页面)的iframe中托管此页面。

我有一个函数可以隐藏/显示单击按钮时运行的div。我从页面本身和承载页面的父页面调用函数。

现在我正在使用此代码从页面本身访问"Main_data"div

var element = $('#main_data');

我正在使用此代码从iframe中托管页面的父页面访问"Main_data"div。

"graphFrame"是父页面中iframe的ID

var element = $('#graphFrame').contents().find("#main_data");

这意味着我正在复制代码,我不喜欢它。我想知道是否有一种方法可以用一行代码访问DOM元素,这两种情况都适用?

我没有看到太多代码重复,我认为没有必要使用这个:

function accessor(selector){
return ($('iframe').length ? $('iframe').contents() : $(documents)).find(selector);
}

未测试

最新更新