为了给出一个简短的高级别,我有一个搜索结果页面,其中包含每个结果的自定义漂亮框.我获取搜索结果的cloneNode(true)并将其存储在jQuery对象中.然后我想通过ID定位来影响其子项的内容.
假设我有一个HTML结构,例如:
<div id="parent">
<div id="child-1">
</div>
<div id="child-2">
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
我像这样一个父母的克隆:
var templatePage = $('div#parent')[0].cloneNode(true);
Run Code Online (Sandbox Code Playgroud)
现在我想#child-2用类似的东西影响CSS :
templatePage.jQueryGetElementById('child-2').css("display", "none");
Run Code Online (Sandbox Code Playgroud)
我无法使用,$('#child-2').css("display", "none");因为我需要变量中的div,而不是页面.
当然,我只是遗漏了一些小东西,但是唉,谷歌对这一点并不友好.
$("#child-1", templatePage).css("display", "none");
Run Code Online (Sandbox Code Playgroud)
你可以在这里看到一个例子.这通过将context(templatePage)传递给jQuery,并且templatePage包含DOM元素,#child-1在该DOM元素中查找,而不是文档.