如何获取存储在变量中的jQuery对象的子代

时间:2011-07-13 20:09:33

标签: jquery

为了给出一个简短的高级别,我有一个搜索结果页面,其中包含每个结果的自定义漂亮框。我获取搜索结果的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,而不是页面。

肯定有一些我想念的小东西,但是唉,谷歌对我不好意思。

1 个答案:

答案 0 :(得分:8)

$("#child-1", templatePage).css("display", "none");

您可以看到此here的示例。这通过将上下文(templatePage)传递给jQuery来工作,并且当templatePage包含DOM元素时,在该DOM元素中查找#child-1,而不是文档。