我有一系列框架(4),它们在页面中用于通过Ajax调用创建动态内容的加载。
在这些帧的每一个中,我都以父级元素为目标,并用各自的内容更新它们,例如
$("#loadingGrid1",top.document).show();
$("#frameSkills",top.document).hide();
在jQuery中有一种方法可以多次在父页面上定位特定元素,而只需将页面定位到一个变量中,例如:
var parentPage=$('#frameSkills',top.document);
然后使用此变量来应用$(parentPage > #loadingGrid1).hide()
希望我已经解释了我的经历。基本上,我必须在我制作的每个jQuery选择器中调用“top.document”,这似乎是浪费精力。
答案 0 :(得分:0)
Jquery对象可以像DOM节点一样用作上下文。
var parentPage = $('#frameSkills',top.document);
$("#myselector", parentPage).dostuff();
或者您可以使用find
功能:
parentPage.find("#myselector").dostuff();
答案 1 :(得分:0)
答案 2 :(得分:0)
这样的事情对我来说似乎最干净:
var page = $(top.document); //Define once
page.find("#loadingGrid1").show();
page.find("#frameSkills").hide();
当你打电话给$(selector, context)
时(无论如何都是这样),无论如何都要调用context.find(selector)
......也可以让你随时随地阅读/写/链。 / p>