Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 检查子元素是否没有特定的类?_Javascript_Css_Class_Children_Getelementsbyclassname - Fatal编程技术网

Javascript 检查子元素是否没有特定的类?

Javascript 检查子元素是否没有特定的类?,javascript,css,class,children,getelementsbyclassname,Javascript,Css,Class,Children,Getelementsbyclassname,我试图找出子元素是否没有特定的类 我的要点如下: <g id="note1"> <path id="Barline1" d="M55.837,19.278h0.249c0.11,0,0.199,0.089,0.199,0.199V40.56c0,0.11-0.089,0.199-0.199,0.199h-0.249c-0.11,0-0.199-0.089-0.199-0.199V19.478C55.638,19.368,55.727,19.278,55.837,19.2

我试图找出子元素是否没有特定的类

我的要点如下:

<g id="note1">
    <path id="Barline1" d="M55.837,19.278h0.249c0.11,0,0.199,0.089,0.199,0.199V40.56c0,0.11-0.089,0.199-0.199,0.199h-0.249c-0.11,0-0.199-0.089-0.199-0.199V19.478C55.638,19.368,55.727,19.278,55.837,19.278z"/>
    <path class="root" d="M54.113,38.945c1.116,0,2.172,0.578,2.172,1.813c0,1.435-1.116,2.411-2.052,2.969c-0.717,0.418-1.514,0.717-2.331,0.717c-1.116,0-2.172-0.578-2.172-1.813c0-1.435,1.116-2.411,2.052-2.969C52.499,39.244,53.296,38.945,54.113,38.945z"/>
</g>
<g id="note2">
    <path id="BarLine2" d="M70.852,16.788h0.249c0.11,0,0.199,0.089,0.199,0.199v21.082c0,0.11-0.089,0.199-0.199,0.199h-0.249c-0.11,0-0.199-0.089-0.199-0.199V16.987C70.653,16.877,70.742,16.788,70.852,16.788z"/>
    <path class="root" d="M69.127,36.454c1.116,0,2.172,0.578,2.172,1.813c0,1.435-1.116,2.411-2.052,2.969c-0.717,0.418-1.514,0.717-2.331,0.717c-1.116,0-2.172-0.578-2.172-1.813c0-1.435,1.116-2.411,2.052-2.969C67.513,36.753,68.31,36.454,69.127,36.454z"/>
    <path class="interval third" d="M69.127,31.473c1.116,0,2.172,0.578,2.172,1.813c0,1.435-1.116,2.411-2.052,2.969c-0.717,0.418-1.514,0.717-2.331,0.717c-1.116,0-2.172-0.578-2.172-1.813c0-1.435,1.116-2.411,2.052-2.969C67.513,31.772,68.31,31.473,69.127,31.473z"/>
</g>
我收到的错误消息是,两个
g
元素都不支持属性或方法
document.getElementsByClassName

根据,代码应该返回我想要的类的所有元素,这些元素位于我指定的id的元素下。有没有关于我做错了什么或我可能会尝试什么替代方案的想法?

您可以使用:


您从
.root
元素开始而不是从
note\uu
元素开始有什么原因吗?可能是无知。这对于检查子元素是否没有类元素非常有效。尽管如此,我不确定现在如何访问子元素,因为它确实有类。是
document.getElementById('note'+(n+1)).querySelectorAll('getElementById('note'+(n+1))[0]
,还是一旦我进入,我就返回到
getElementsByCassName
?@ChristopherGaston:你可以通过迭代节点列表
document.getElementById('note'+(n+1)).querySelectorAll('getElementInterval')
,并使用,第一个你可以访问的方式,你在评论。工作得很好。您可能需要编辑代码。你记下了#interval,它是id选择器,实际上应该是.interval,用于类选择器。
for(var n=0;n<document.getElementsByClassName('root').length;n++){
    if(document.getElementById('note'+(n+1)).getElementsByClassName('interval') ){
          //some child element has class
     } else {
          //no child element has class
     }
}
 if(document.getElementById('note'+(n+1)).querySelectorAll('.interval').length > 0){
     /*There are elements with CSS class 'interval'*/
 }
 else{
     /*There are no elements with CSS class 'interval'*/
 }