【问题标题】:Make jQuery on page add CSS class to div within iframe?让页面上的 jQuery 添加 CSS 类到 iframe 中的 div?
【发布时间】:2011-07-21 23:44:23
【问题描述】:

我可以在我的页面上使用 jQuery 将 CSS 类添加到 iframe 中的 div 吗?

谢谢

更新。出于测试目的,我添加了以下内容。我原以为它会为任何 iframe 中的所有 p 标签添加一个“红色”类,但它什么也没做:

$(document).ready(function() { $('iframe') 。内容() .find('p') .addClass('red'); });

谢谢

【问题讨论】:

  • 你能提供更多细节吗?
  • @jackjoe:对我来说似乎很清楚他在寻找什么?
  • 也许吧,但是 OP 并没有说它是否是跨域的,这会改变一切。
  • 不,同一个域。谢谢
  • @jackjoe:好点,没有考虑过。

标签: jquery iframe


【解决方案1】:

如果它在同一个域上,你应该可以。

尝试使用这样的东西:

$('#iframe-id')
  .contents()
  .find('.my-div')
    .addClass('my-other-class');

【讨论】:

  • 我的 iframe 没有 ID。我试过 iframe、iFrame 和框架,但似乎没有被选中。谢谢
  • 正如您在本文其他地方提到的,您似乎可以通过另一个具有 Id 的元素来定位它,因此请尝试使用 $('#mydivid iframe') 而不是 $('#iframe-id')。如果您不尝试在外部网页上执行此操作,它应该起作用。
  • 代码对我不起作用,我在一开始就在我的主要问题中发布了我的尝试。谢谢
【解决方案2】:

您可以将 jquery 选择器定位在特定元素上。在这种情况下,您需要在当前页面的 frames 集合中定位 div 的 id / class 并执行操作。

见下文;

$('#mydiv', frames['myiframeid'].document).addClass('myclass');

【讨论】:

  • 我的 iframe 没有 ID。如何在 div 中选择任何 iframe?的,我如何选择它里面的哪个 div 来添加一个类?谢谢
  • @jdln:为什么不能在 iframe 中添加一个 id='mydivid' 然后定位它?
  • 你的意思是用jQuery添加还是实际添加到原始html中?我正在使用一个模块,因此找到执行此操作的代码会有点棘手。我确定这不是不可能的,但有没有另一种方法可以用 jQuery 选择它?如果我试图用 jQuery 选择一个没有 ID 的 div,那么还有其他方法可以做到这一点。谢谢
  • @jdln:将其添加到原始 HTML 中。如果您无法修改原始 HTML,并且您确定页面上只有 1 个 iframe,那么您始终可以使用 window.document.frames(0).document 来引用它。
  • 有没有办法可以在某个 div 中引用 iframe?我可以保证它是 div 中唯一具有 id 的 iframe,所以我可以这样选择它吗?谢谢
猜你喜欢
  • 2017-04-28
  • 1970-01-01
  • 2011-03-30
  • 2015-09-16
  • 1970-01-01
  • 1970-01-01
  • 2011-09-03
  • 2010-11-02
  • 2023-02-22
相关资源
最近更新 更多