一个框架内的jQuery访问表
我有一个问题。 我想在框架内选择一个元素(而不是iframe)。 框架的名称是主要的,但我不能添加ID(很难解释,但不可能)。 如何操作该框架内的数据?
我已经尝试了各种不同的东西(也来自stackoverflow),但它们没有用…
渡渡鸟
框架:
jQuery代码
$(document.createElement("tr")) .attr({ id: 'DMbalk' }) .appendTo($('frame[name=main] #header_info tbody'));
我不能让它以这种方式工作……
game.php代码(主框架)……
dododedodonl Uitloggen Forum Hulp Instellingen Premium Ranglijst (5602.|162 P) Stam Berichten Mededelingen Vrienden
Overzichten Kaart dododedodonl (484|175) C14
1229 1229 1229 1229
126/386
噢,我忘了说,这是一个狩猎扩展…
当您的jQuery代码如下所示时会发生什么:
$(document.createElement("tr")) .attr({ id: 'DMbalk' }) .appendTo($('#header_info tbody', window.frames[0].document));
jQuery函数($)的第二个参数是运行选择的上下文,默认情况下是当前文档。 指定第二个参数会将选择器的上下文移动到第一帧。
jQuery API文档 :
默认情况下,选择器在DOM中从文档根开始执行搜索。 但是,通过使用$()函数的可选第二个参数,可以为搜索提供备用上下文
这里提出了一个类似的SO问题: 在另一个框架的上下文中运行JQuery
希望这有帮助!
编辑:好的,希望这是答案。 我发现jQuery是在加载帧之前触发的; 结果,我收到一个错误,说无法找到框架“main”。 所以我在启动脚本中添加了一个setTimeout(2秒),我可以看到正在创建的
。 这是我正在使用的HTML:
框架加载到静态HTML文件(我不是PHP人员,所以我使用静态HTML)。 在我添加setTimeout
调用之前,帧会加载,不会创建新的
,我会看到一个JavaScript错误。 我添加了setTimeout
,现在工作正常。 我还必须改变我引用框架的方式 – 使用索引似乎不起作用,但是通过名称引用它可以正常工作。 不知道为什么会这样。
所以希望这会有所帮助。 如果您仍有问题,请告诉我,我会再试一次。 :) 祝好运!
您也可以选择使用属性: $("frame[name=main]")
如果只有一个帧,请使用索引0并将jquery放在帧内
window.frames[0].$("#test");