所以当代码......
document.getElementById('classhere').childNodes
...运行,我设法获取具有该ID的所有元素,除了由'createDiv()'函数动态创建的元素:
function createDiv()
{
var divTag = document.createElement("div");
divTag.id = "classhere" + num;
...
我想用Id获取所有div元素,甚至是动态创建的div元素。有没有人有办法解决吗?谢谢!
答案 0 :(得分:0)
尝试jQuery jQuery通配符选择器 http://www.emadibrahim.com/2009/07/25/jquery-wildcard-selector/
答案 1 :(得分:0)
所以当代码......
document.getElementById('classhere').childNodes
...运行,我设法获得具有该ID的所有元素
getElementById
按ID 查找单个元素,而不是按类查找。引用的那一行将查找具有id
值“classhere”的元素,并返回其直接子节点NodeList
(元素,文本节点等)。如果您创建了更多元素,并且未将它们添加到DOM中,或者将它们添加到其他位置(而不是“classhere”元素的直接子元素),则它们将不在NodeList
上。它与它们是在主HTML解析期间还是在事后用JavaScript创建无关。
我想用Id获取所有div元素......
只有一个元素具有给定的ID。
如果您要查找id
以“classname”开头的所有元素,您可以使用"attribute starts with selector":
var divs = $("div[id^='classname']");
...为您提供一个jQuery对象,其中包含您执行语句时所有匹配的div(与NodeList
不同,它不是实时的;如果您更改了内容,则必须运行选择器再次)。