在未注入DOM的DIV中通过id查找元素

时间:2010-03-18 00:49:47

标签: javascript dom dhtml

我在内存中有一个DOM元素,尚未在页面DOM中注入。 我想在这个DOM元素中通过id查找元素,但是document.getElementById不会工作,因为元素还没有在页面DOM中。

关于如何做到这一点的任何想法?

P.S。

  • 我知道一种方法是使用 element.querySelector()但是自IE7以来 不支持它,我不能。
  • 不使用Jquery

2 个答案:

答案 0 :(得分:0)

如果您使用jQuery,则可以撰写$('#someId', divElement)

答案 1 :(得分:0)

如果浏览器是IE或非IE,则不同。在任何一种情况下,您都应该使用XPath。对于Firefox和其他兼容的浏览器,您将使用evaluate和Xpath查询,使用IE,您使用selectNodes。所以这里他们是并排的:

//Say you want an element with an id of "foo":
  var xpathQ = "//[@id='foo']";  // This is your query

  var myXML = someXMLsource;   // Get your XML  however you are getting it

 //Assuming non-IE

 var fooNode = myXML.evaluate(xpathQ, myXML, null, XPathResult.ANY_TYPE, null);

//Assuming IE

var fooNode = myXML.selectNodes(xpathQ);

然后做你需要做的元素。我有点尴尬,IE实际上使这个更明确,但每只狗都有它的一天。