1

我有一个 iFrame。它的所有元素都已加载。无论如何,我无法通过 id/class/etc 的“部分”使用 jQuery 选择器来选择元素。

这是我的代码:

//Not working
$('#iFrameID').contents().find($('[id^="lodingImg"]')));

//Works 
$('[id^="lodingImg"]'))

有谁知道这种类型的 jQuery 选择器是否在 iFrame 中不起作用。我最近读到 .live 也不能在 iframe 中工作。所以,我的问题是我做错了什么或者这是图书馆的限制?

提前致谢。

4

1 回答 1

2

.find()很乐意将选择器作为字符串,没有理由将该选择器包装在对 jQuery 函数的调用中。而且,事实上,可能有理由这样做,因为我怀疑这就是导致您的代码无法工作的原因。

这段代码:

$('#iFrameID').contents().find($('[id^="lodingImg"]'));

将在$('#iFrameID').contents()与找到的元素匹配的元素中查找$('[id^="lodingImg"]')- 这将在调用 Javascript 的父窗口上运行,而不是<iframe>元素,并且可能返回零元素。

只需调用:

$('#iFrameID').contents().find('[id^="lodingImg"]');

反而。

于 2012-07-25T11:42:55.437 回答