2016-10-22 17 views
-1

getElementsByClassNameが機能しません。ここに私のコードです。トグルでgetElementsByClassName onclickが機能しない

$(document).ready(function() { 
 
    $('.parent<?php echo $product['product_id']; ?>').on("click",function(){ 
 
\t 
 
     if(document.getElementsByClassName('sub-nav').style.display == 'block') 
 
     document.getElementsByClassName('sub-nav').style.display = "none"; 
 

 
     $(haid<?php echo $product['product_id']; ?>).toggle(); 
 
     $(haid<?php echo $product['product_id']; ?>).siblings().find(".sub-nav").hide(); 
 
     }); 
 
});

私はユニークな生成されたIDを持つ別のボタンを持っていると私はクラスによってそれらを検索したいです。 私がしようとしているのは、ボタンAをクリックしてボタンBを非表示にしたときです。 他のボタンの一意のIDが見つからないため、トグルが機能しません。

getElementsByClassNameがdisplay:blockがdisplay:noneに置き換えられたと判断した場合、クリックされたボタンのオープンを続行します。

+0

'変数をhaid'ですか?あなたがセレクタに引用符を持っていないので、疑問に思っています: '$(haid <?php echo $ product ['product_id'];?>)'。また、なぜバニラJSとJQueryをミックスするのですか?私は 'getElementsByClassName'ではなく、JQueryクラスセレクタを使う方が良いと感じています。 – Santi

+0

@Santi 'haid'はIDです。 –

+0

haidがIDの場合は、 '$("#haid ")'を実行して選択する必要があります。 ' - 'と引用符に気づきます。 – Santi

答えて

0

私はそれをしました。君たちありがとう!

\t if($(".sub-nav").css("display","block")) { 
 
\t \t $(".sub-nav").css("display","none"); 
 
\t \t } else { 
 
\t \t $(".sub-nav").css("display","block");}

関連する問題