让页面上的 jQuery 添加 CSS 类到 iframe 中的 div?
Posted
技术标签:
【中文标题】让页面上的 jQuery 添加 CSS 类到 iframe 中的 div?【英文标题】:Make jQuery on page add CSS class to div within iframe? 【发布时间】:2011-07-21 23:44:23 【问题描述】:我可以在我的页面上使用 jQuery 将 CSS 类添加到 iframe 中的 div 吗?
谢谢
更新。出于测试目的,我添加了以下内容。我原以为它会为任何 iframe 中的所有 p 标签添加一个“红色”类,但它什么也没做:
$(document).ready(function() $('iframe') 。内容() .find('p') .addClass('red'); );
谢谢
【问题讨论】:
你能提供更多细节吗? @jackjoe:对我来说似乎很清楚他在寻找什么? 也许吧,但是 OP 并没有说它是否是跨域的,这会改变一切。 不,同一个域。谢谢 @jackjoe:好点,没有考虑过。 【参考方案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,所以我可以这样选择它吗?谢谢以上是关于让页面上的 jQuery 添加 CSS 类到 iframe 中的 div?的主要内容,如果未能解决你的问题,请参考以下文章
如何让 div 在页面中随机移动(使用 jQuery 或 CSS)
JQuery/CSS - 基于值的不同 <body> 背景图像,无需在 _Layout 页面上的 document.ready() 中加载