为了给出一个简短的高级别,我有一个搜索结果页面,其中包含每个结果的自定义漂亮框。我获取搜索结果的cloneNode(true)并将其存储在jQuery对象中。然后,我希望通过ID进行定位来影响其子项的内容。
假设我有一个HTML结构,例如:
<div id="parent">
<div id="child-1">
</div>
<div id="child-2">
</div>
</div>
我像这样克隆父母:
var templatePage = $('div#parent')[0].cloneNode(true);
现在,我希望以类似于:
的方式影响#child-2
的CSS
templatePage.jQueryGetElementById('child-2').css("display", "none");
我无法使用$('#child-2').css("display", "none");
,因为我需要变量中的div,而不是页面。
肯定有一些我想念的小东西,但是唉,谷歌对我不好意思。
答案 0 :(得分:8)
$("#child-1", templatePage).css("display", "none");
您可以看到此here的示例。这通过将上下文(templatePage
)传递给jQuery来工作,并且当templatePage
包含DOM元素时,在该DOM元素中查找#child-1
,而不是文档。