通过jQuery实际确定iFrame中div的宽度

时间:2013-05-16 17:33:07

标签: jquery html iframe width

我有一个div。那个div住在一个iframe里面。 div有宽度。我想通过jQuery获得这个宽度。附上我的一些冒险经历。请享受!

http://i.imgur.com/AXdfU61.jpg
http://i.imgur.com/Y9MB6Sg.jpg

编辑 - 如果我用$开始任何一行,我的控制台为什么会抛出错误?

编辑2 - 简化了裸骨基础知识的问题。

3 个答案:

答案 0 :(得分:1)

在jquery中你可以这样做:

$("#iframeId").contents().find('#divId').width();

由于您的iframe没有ID,无论是更改ID还是通过其他方式找到它,您都可以使用$('iframe')列出文档中的所有iframe。关于你的尝试,如果你使用$('。span9'),这将找到这个类的所有元素,所以你还需要找到另一种方法来获取你的元素。

答案 1 :(得分:0)

使用$("#IDofDIV").width(); 对于要调整大小/获取宽度的元素,您需要使用ID而不是类。类包含许多元素,甚至可能有数百个具有相同类的元素。您需要指定哪个元素,而不是一组元素。

因此,使用ID是最容易的事情,尽管还有很多其他方法。

Here is a link to .width(); documentation.

此外,您正在使用iFrame,因此您可能无法从控制台运行脚本。请参阅您的问题下的第一条评论,其中@PlantTheIdea已就此给出了解释。

答案 2 :(得分:0)

我已经解决了。虽然我对这个问题的解决方法是有效的,但我在我的网站上还有其他几个与jQuery有关的问题。也就是说,$不在控制台中工作。我知道我引用了jQuery,但$不是一个有效的对象。

事实证明,当jQuery以非冲突模式运行时,$在标准用例中不可用。相反,你传递文档就绪函数,如下所示:

jQuery(document).ready(function($){

现在它是一个有效的对象,可以正常使用。这允许jQuery在非冲突模式下运行,并且仍然可以访问$

你可以在这里阅读:http://codex.wordpress.org/Function_Reference/wp_enqueue_script

(jQuery noConflict Wrappers部分)

希望这有助于某人!