Javascript 如何将直接子元素作为目标

Javascript 如何将直接子元素作为目标,javascript,Javascript,如何从元素部分获取直接子元素 我尝试通过查询选择器将其设置为目标,但没有成功。对于这种情况,我不想使用class或id 我用对了吗 我想从第节开始瞄准它 谢谢你的帮助 var section = document.getElementsByTagName("section")[0]; var div = section.querySelector(section + "> div"); //this not work <section> <form>

如何从元素部分获取直接子元素

我尝试通过查询选择器将其设置为目标,但没有成功。对于这种情况,我不想使用class或id

我用对了吗

我想从第节开始瞄准它

谢谢你的帮助

var section = document.getElementsByTagName("section")[0];
var div = section.querySelector(section + "> div"); //this not work

<section>
  <form>
    <div></div>
    <div></div>
  </form>
  <div> //I want target this div
    <div></div>
    <div></div>
  </div>
</section>

使用查询选择器直接指定类似于section>div的选择器:

var div=document.querySelectorsection>div; console.logdiv; //我要瞄准这个部门
使用查询选择器直接指定类似于section>div的选择器:

var div=document.querySelectorsection>div; console.logdiv; //我要瞄准这个部门
var div=section.queryselectorssection>div

var div=section.queryselectorssection>div

您正在连接section.queryselectorssection+>div一个字符串,其中包含和对象,该对象在querySelector中不起作用 顺便说一句,如果您使用section.querySelectordiv,它将返回元素的第一个div,因此您需要的是section.querySelectorAlldiv[2],它指向第三个div。请参见分两部分的示例,第二部分是您的

var section=document.getelementsbytagnamesesection[0]; var div=section.querySelectordiv//这不管用 console.logdiv; //你想要什么 var section=document.getelementsbytagnamesesection[0]; var div=section.querySelectorAlldiv//这不管用 var目标=div[2]; console.logtarget; 1. 2. 我要瞄准这个部门 3. 4. 您正在将section.querySelectorsection+>div字符串与querySelector中不可用的和对象连接起来 顺便说一句,如果您使用section.querySelectordiv,它将返回元素的第一个div,因此您需要的是section.querySelectorAlldiv[2],它指向第三个div。请参见分两部分的示例,第二部分是您的

var section=document.getelementsbytagnamesesection[0]; var div=section.querySelectordiv//这不管用 console.logdiv; //你想要什么 var section=document.getelementsbytagnamesesection[0]; var div=section.querySelectorAlldiv//这不管用 var目标=div[2]; console.logtarget; 1. 2. 我要瞄准这个部门 3. 4.

ty,但我希望它以节为目标,而不是以文档为目标,而是以表单中的第一个div为目标element@Martin54你可以从自身重新定位,。。例如section.parentElement.querySelector'section>div'这仍然只会选择作为section直接子级的div,如果使用querySelectorAll,则不必知道它是第三个div。它将返回第一个div,因为您可以为div设置内容并查看输出。@Keith我刚刚再次编辑,甚至显示了检索到的元素.ty的id,但我希望它从节中以它为目标,不是来自文档,而是以表单中的第一个div为目标element@Martin54你可以从自身重新定位,。。例如section.parentElement.querySelector'section>div'这仍然只会选择作为section直接子级的div,如果使用querySelectorAll,则不必知道它是第三个div。它将返回第一个div,因为您可以为div设置内容并查看输出。@Keith I刚刚再次编辑,显示了检索到的元素的id。childNodes[0]应为dosection+>div=[object HtmlDiscovery]>divchildNodes[0]应为dosection+>div=[对象HtmlLevel]>如果表单中的div是动态创建的,或者有很多div,你知道怎么做吗?因此目标div应该有一个特定的位置,当你没有任何相关信息时,是不可能找到div的。如果该div有特定的内容,你可以在for中迭代所有div并检查它,但是最好的方法是ay正在为该div定义类或id,或者至少为其定义一个属性。不客气,如果它为您提供了线索并解决了您的问题,请将其作为答案进行检查。@Martin54您的主题->如何从元素中定向子元素,此答案不会这样做。@quirimmo-answer有什么问题吗?@Keith,他提到他没有想在问题的内容中通过id找到它,但你们是对的,主语直接说,但我提到过,并没有比定义id或classTy更好的方法了,若在表单中是动态创建的div,或者若有很多div,你们知道怎么做吗?所以你们的目标div应该有一个特定的位置,不可能找到div当你没有关于它的任何信息时。如果该div有特定的内容,你可以在for中迭代所有div并检查它,但最好的方法是为该div定义类或id,或者至少为其定义属性。欢迎你,如果它给你线索并解决了你的问题,请检查它作为答案。@Martin54你的主题->如何为了从元素中直接找到子元素,这个答案并没有这样做。你们对Quirimo的答案有什么问题?@Keith,他提到他不想在问题的内容中通过id找到它,但你们是对的。主题直接说,但我在那个里提到了我 没有比定义id或类更好的方法了