Javascript onmousedown切换div(切换2个div?)

Javascript onmousedown切换div(切换2个div?),javascript,php,Javascript,Php,所以我对javascript真的很陌生,如果我的生活依赖于它的话,我一句也不知道。不知怎的,我设法让它工作了 <a href="javascript:void(0)" onmousedown="toggleDiv(' , $message['id'] , ');"> 问题是我需要2个div来切换。我想,因为他们都有相同的ID,它会切换他们两个,但它没有。我将第二个改为在消息ID后加上“dateline”。我不知道如何才能做到这一点,非常感谢您的帮助:) 我不希望使用jQuery

所以我对javascript真的很陌生,如果我的生活依赖于它的话,我一句也不知道。不知怎的,我设法让它工作了

<a href="javascript:void(0)" onmousedown="toggleDiv(' , $message['id'] , ');">

问题是我需要2个div来切换。我想,因为他们都有相同的ID,它会切换他们两个,但它没有。我将第二个改为在消息ID后加上“dateline”。我不知道如何才能做到这一点,非常感谢您的帮助:)

我不希望使用jQuery

被要求这样做:

    echo '<script type="text/javascript">
            function toggleDiv(divid){
                if(document.getElementById(divid).style.display == \'none\'){
                    document.getElementById(divid).style.display = \'block\';
                    document.pageLoading.TCallLabel(\'/\',\'restart_function\');
                }
                else{
                    document.getElementById(divid).style.display = \'none\';
                }
            }
    </script>';
echo'
函数切换div(divid){
if(document.getElementById(divid.style.display==\'none\')){
document.getElementById(divid).style.display=\'block\';
document.pageLoading.TCallLabel(\'/\',\'restart\'函数\');
}
否则{
document.getElementById(divid).style.display=\'none\';
}
}
';

您不应该在两个HTML元素上使用相同的id。如果需要共享选择器,则应使用类。然后您的脚本变成:

<script type="text/javascript">
        function toggleDiv(divClass){
            var divs = document.getElementsByClassName(divClass);
            for(var i = 0; i < divs.length; i++){
                if(divs[i].style.display == 'none'){
                    divs[i].style.display = 'block';
                    // Not sure what this is doing, you may want to move it outside of the loop
                    document.pageLoading.TCallLabel('/','restart_function');
                }else{
                    divs[i].style.display = 'none';
                }
            }
        }
</script>

函数切换div(divClass){
var divs=document.getElementsByClassName(divClass);
对于(变量i=0;i
为什么不调用切换两次
onmousedown=“toggleDiv(id1);toggleDiv(id2);”
请共享
toggleDiv
的功能代码@艾哈迈德,请不要。这已经够糟糕的了。我编辑了这篇文章,因为我真的不知道如何把它放在评论中,这就是你想要的吗?:)为什么两个div有相同的id?您可以为它们设置不同的id并调用函数两次,正如我在前面的评论中提到的那样。id在页面中必须是唯一的,如果两个标记共享相同的id,则页面的行为在不同的浏览器中是不可预测的。这对我不起作用,现在它不能切换任何div:(您是否将div输出更改为使用类而不是ID?是的,我将它们更改为两个都有类,一个名为messageid_dateline,另一个名为messageid_hiddenquickbuttons,我还更新了原始中的名称。:)也许我没有逃过它,对吧?我只是测试了这段代码,没有关于
document.pageLoading.TCallLabel()
的部分,它正确地隐藏/显示了具有该类的元素。你能将html输出放在粘贴箱中吗?这有点糟糕,对不起。