Итак, когда код ...
document.getElementById('classhere').childNodes
... запускается, мне удается получить все элементы с этим идентификатором
getElementById
ищет один элемент по ID , а не по классу.Эта строка в кавычках будет искать элемент со значением id
"classhere" и будет возвращать NodeList
его непосредственных дочерних узлов (элементов, текстовых узлов и т. Д.).Если вы создаете дополнительные элементы и либо не добавляете их в DOM, либо добавляете их где-либо еще (не как непосредственные потомки элемента "classhere"), они не будут на NodeList
.Это не имеет никакого отношения к тому, были ли они созданы во время основного анализа HTML или после него с помощью JavaScript.
Я хотел бы получить все элементы div с этим идентификатором ...
Может быть только один элемент с заданным идентификатором.
Если вы пытаетесь найти все элементы, чей id
начинается с "classname", вы можете использовать атрибут "начинается с селектора" :
var divs = $("div[id^='classname']");
... дает вам объект jQuery, содержащий все совпадающие элементы div на момент выполненияоператор (в отличие от NodeList
, он не живой; если вы что-то измените, вам придется снова запустить селектор).