显示/隐藏几个div

时间:2012-01-24 10:25:11

标签: 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";
        text.innerHTML = "show";
    }
    else {
        ele.style.display = "block";
        text.innerHTML = "hide";
    }
} 
</script>

被叫:

            echo '<a id="displayText" href="javascript:toggle();">show</a>';

我想显示/隐藏几个div(不在列表或表单中)

我试试:

    var ele = document.getElementById("mydiv", "mydiv2");

但它只显示并隐藏了第一个div

2 个答案:

答案 0 :(得分:1)

描述

这不是jQuery。您应该使用jQuery函数来保证跨浏览器的兼容性。 查看我的示例和jsFiddle

示例

<div id="mydiv">test</div>
<div id="displayText">test2</div>

$(function() {
    $("#displayText").click(function() {
       $("#mydiv").toggle();
    }); 
});

更多信息

答案 1 :(得分:0)

getElementById()函数接受单个参数,因此您无法向其传递一个id列表。有很多选择,我建议其中两个:

  • 使用div数组并迭代它,例如

    var divs = [ 'mydiv1', 'mydiv2', ... ];
    for ( var i = 0; i < divs.length; i++ ) {
        var div = document.getElementById( divs[ i ] );
        ...
    }
    
  • 使用jQuery等库,可以轻松操作项目列表。在这种情况下,您可以使用适当的类标记所有div,例如 myclass ,并使用类似:

    的内容
    $(".myclass").hide()