Javascript getElementById不应该返回包含子对象的对象吗?
使用下面的代码,我希望得到一个包含子元素的对象Javascript getElementById不应该返回包含子对象的对象吗?,javascript,Javascript,使用下面的代码,我希望得到一个包含子元素的对象 var MemberDiv=document.getElementById("idProfileMainContainer"); console.log(MemberDiv.length); 使用上面的代码,我得到了未定义的。我很困惑。我认为它应该有一个包含所有子元素的对象数组 最终,我试图找到一家拥有董事会席位的子公司 <div id="idContainer8592665" class="fieldContainer simpleTex
var MemberDiv=document.getElementById("idProfileMainContainer");
console.log(MemberDiv.length);
使用上面的代码,我得到了未定义的。我很困惑。我认为它应该有一个包含所有子元素的对象数组
最终,我试图找到一家拥有董事会席位的子公司
<div id="idContainer8592665" class="fieldContainer simpleTextContainer">
<div class="fieldSubContainer labeledTextContainer">
<div class="fieldLabel">
<span id="FunctionalBlock1_ctl00_ctl00_MemberForm_memberFormRepeater_ctl22_titleLabel" title="Cannot be edited, Administrator access only">Board Position</span>
</div>
<div class="fieldBody">
<span id="FunctionalBlock1_ctl00_ctl00_MemberForm_memberFormRepeater_ctl22_DropDownLabel8592665">Webmaster</span><input name="FunctionalBlock1$ctl00$ctl00$MemberForm$memberFormRepeater$ctl22$ctl03" type="hidden">
</div>
</div>
</div>
getElementById的返回值不是数组,而是一个节点或一个节点都不是:
通过元素的ID返回对元素的引用
要获取目标元素,可以使用以下ES6脚本:
//选择idContainer8592665的所有div.fieldLabel子体,并找到一个
//我们寻找的文本内容。
var div=Array.fromdocument.queryselectoral'idContainer8592665 div.fieldLabel'
.find div=>div.textContent。包括“板位置”;
//显示我们找到的div元素的文本
console.logdiv.textContent.trim;
董事会职位
网站管理员
我所做的是获取span元素的集合。然后我逐步浏览这个集合,检查textContent是否为“Board Position”。如果是这样,我将沿着DOM树往回走,直到到达一个div节点。然后我打印它的类,它是html中唯一的属性,还有outerHTML 如果可能有多个匹配元素,result应该初始化为[],您应该检查.length>0而不是==undefined,您应该将元素推入result.pushelem,而不是将其设置为result=elem的元素,最后,您应该迭代结果,而不是只显示一个 函数byIdid{return document.getElementByIdid} 函数allByTagtag,父{返回父==未定义?文档:parent.getElementsByTagNametag} //适用于HtmlCollection、NodeList、字符串类型-类似数组的对象
函数forEacharray、回调、作用域{对于var i=0,n=array.length;如果您不想获取数组的长度,则需要检查MemberDiv@FredWilson,你错了。你是从哪里得到这些信息的?不难找到它实际返回的内容。它有很好的文档记录,而且很容易found@charlietfl我知道它应该很容易查找但至少在过去的几个小时里,我一直在用谷歌搜索我的尾巴,似乎无法找出正确的搜索条件来获得有用的答案。只需将getElementById放在谷歌中……最有可能的第一个结果就是MDN文档。这些文档也很容易在内部搜索