Поиск элемента по идентификатору в DIV, не внедренном в DOM - PullRequest
0 голосов
/ 18 марта 2010

У меня есть элемент DOM в памяти, который еще не вставлен в страницу DOM. Я хочу найти элемент по id внутри этого элемента DOM, но document.getElementById не будет работать, поскольку элемент еще не находится на странице DOM.

Есть идеи, как это сделать?

приписка

  • Я знаю, что один из подходов заключается в использовании element.querySelector () но с IE7 не поддерживает, я не могу.
  • Не используется Jquery

Ответы [ 2 ]

0 голосов
/ 18 марта 2010

Отличается, если браузер 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 на самом деле делает это более четким, но у каждой собаки есть свой день.

0 голосов
/ 18 марта 2010

Если вы используете jQuery , вы можете написать $('#someId', divElement).

...