Подтвердить что ты не робот

Как искать детей HTMLDivElement?

У меня есть HTMLDivElement, и моя цель - найти в нем div.

В идеале я хотел бы что-то вроде getElementById, но эта функция не работает для HTMLDivElement.

Нужно ли мне вручную перемещать график, или есть более простой способ?

4b9b3361

Ответ 1

Демо: http://jsfiddle.net/ThinkingStiff/y9K9Y/

Если <div>, который вы ищете, имеет класс, вы можете использовать getElementsByClassName():

document.getElementById( 'parentDiv' ).getElementsByClassName( 'childDiv' )[0];

Если у него нет класса, вы можете использовать getElementsByTagName():

document.getElementById( 'parentDiv' ).getElementsByTagName( 'div' )[0];

И если у него есть id, вы можете, конечно, просто использовать getElementById(), чтобы найти его независимо от того, где он находится в DOM:

document.getElementById( 'childDiv' );

Ответ 2

  //For immediate children 

  var children = document.getElementById('id').childNodes;

   //or for all descendants

   var children = document.getElementById('id').getElementsByTagName('*');

Ответ 3

var div = ...
var divChildren = div.getElementsByTagName("div");
var divYouWant = [].filter.call(divChildren, function (el) {
  return matchesSomeCondition(el);
});

В идеале я хотел бы получить что-то вроде getElementById

И вы можете использовать getElementById просто сделать document.getElementById(id), и поскольку идентификаторы уникальны, вы найдете тот единственный элемент, который вам нужен.

Вы также можете использовать elem.getElementsByClassName для выбора потомка elem by class