Javascript 显示/隐藏多个div

Javascript 显示/隐藏多个div,javascript,Javascript,我使用以下脚本: <script language="javascript"> function toggle() { var ele = document.getElementById("mydiv"); var text = document.getElementById("displayText"); if(ele.style.display == "block") { ele.style.display = "none

我使用以下脚本:

    <script language="javascript"> 
function toggle() {
    var ele = document.getElementById("mydiv");
    var text = document.getElementById("displayText");
    if(ele.style.display == "block") {
            ele.style.display = "none";
        text.innerHTML = "show";
    }
    else {
        ele.style.display = "block";
        text.innerHTML = "hide";
    }
} 
</script>
但它只显示和隐藏第一个div的描述 这不是jQuery。您应该使用jQuery函数来保证跨浏览器的兼容性。 看看我的样品和这个

样品
测试
测试2
$(函数(){
$(“#显示文本”)。单击(函数(){
$(“#mydiv”).toggle();
}); 
});
更多信息
getElementById()函数接受单个参数,因此不能向其传递ID列表。有许多选择,我建议其中两个:

  • 使用div数组并遍历它,例如

    var divs = [ 'mydiv1', 'mydiv2', ... ];
    for ( var i = 0; i < divs.length; i++ ) {
        var div = document.getElementById( divs[ i ] );
        ...
    }
    

如果您可以在页面中使用include jQuery,那么使用jQuery而不是纯javascript可以简化您的生活。试试这个

function toggle() {
    var ele = $("#mydiv");
    var text = $("#displayText");
    if(ele.is(':visible')) {
        ele.hide();
        text.html("show");
    }
    else {
        ele.show();
        text.html("hide");
    }
} 
如果您想在jQuyer中选择多个元素,那么您可以传递多个以逗号分隔的选择器

var elems = $("#mydiv, #mydiv1, #mydiv2");

elems.show();//Will show all the selected elements
elems.hide();//Will hide all the selected elements

如果您想在纯javascript中执行此操作,可以尝试以下方法:

<script type="text/javascript">
var elements = [ 'mydiv', 'mydiv2' ]
foreach ( elem in elements )
{
    var e = document.getElementById(elem);
    // show/hide here
}
</script>

变量元素=['mydiv','mydiv2']
foreach(元素中的元素)
{
var e=document.getElementById(elem);
//在这里显示/隐藏
}

为什么要将此标记为jquery?您没有在任何地方使用jquery。顺便说一句,不推荐使用language属性。您应该改为使用。try ele=document.getElementById(“mydiv”)| document.getElementById(“mydiv2”)@辛格,这不是他想要做的。他想处理所有的案件。
$(".myclass").hide()
function toggle() {
    var ele = $("#mydiv");
    var text = $("#displayText");
    if(ele.is(':visible')) {
        ele.hide();
        text.html("show");
    }
    else {
        ele.show();
        text.html("hide");
    }
} 
var elems = $("#mydiv, #mydiv1, #mydiv2");

elems.show();//Will show all the selected elements
elems.hide();//Will hide all the selected elements
<script type="text/javascript">
var elements = [ 'mydiv', 'mydiv2' ]
foreach ( elem in elements )
{
    var e = document.getElementById(elem);
    // show/hide here
}
</script>