Javascript 使一个元素可见,另49个元素不可见

Javascript 使一个元素可见,另49个元素不可见,javascript,Javascript,我对javascript完全陌生,所以请容忍我 我的页面上有50个ID元素。所有选项都设置为“可见性:隐藏”和“位置:固定”。我有一个对应于每个元素的按钮。单击按钮时,会启动一个javascript函数,该函数使相应的元素可见,并且位置:relative。代码如下所示: document.getElementById("id1").style.position='relative'; document.getElementById("id1").style.visibility='visible

我对javascript完全陌生,所以请容忍我

我的页面上有50个ID元素。所有选项都设置为“可见性:隐藏”和“位置:固定”。我有一个对应于每个元素的按钮。单击按钮时,会启动一个javascript函数,该函数使相应的元素可见,并且位置:relative。代码如下所示:

document.getElementById("id1").style.position='relative';
document.getElementById("id1").style.visibility='visible';
function makeVisible( id ){
    var idList = ['id1','id2','id3','id4'];
    for( var i = 0, l = idList.length; i<l ; i++ ){
        document.getElementById(idList[i]).style.position='fixed';
        document.getElementById(idList[i]).style.visibility='hidden';
    }
    document.getElementById(id).style.position='relative';
    document.getElementById(id).style.visibility='visible';
}
为了确保只有一个元素是可见的和相对的,我还需要隐藏和固定其他49个元素。我如何在不使用以下代码的情况下实现这一点:

function makeid1visibile()
{
    document.getElementById("id1").style.position='relative';
    document.getElementById("id1").style.visibility='visible';

    document.getElementById("id2").style.position='fixed';
    document.getElementById("id2").style.visibility='hidden';
    document.getElementById("id3").style.position='fixed';
    document.getElementById("id3").style.visibility='hidden';
    document.getElementById("id4").style.position='fixed';
    document.getElementById("id4").style.visibility='hidden';
    // etc...
}

如果有任何帮助,我们将不胜感激,因为对于50个元素,编码行的数量将是惊人的。

应该能够用一个循环来处理它,只需输入您希望显示的项目的编号:

function makeIdVisible(id) {
    document.getElementById("id" + id).style.position='relative';
    document.getElementById("id" + id).style.visibility='visible';

    for (var i = 1; i <= 50; i++) {
        if (i !== id) {
            document.getElementById("id" + i).style.position='fixed';
            document.getElementById("id" + i).style.visibility='hidden';
        }
    }
}
函数makeIdVisible(id){
document.getElementById(“id”+id).style.position='relative';
document.getElementById(“id”+id).style.visibility='visible';

对于(var i=1;i而言,应该能够通过单个循环处理它,只需传入您希望显示的项目编号:

function makeIdVisible(id) {
    document.getElementById("id" + id).style.position='relative';
    document.getElementById("id" + id).style.visibility='visible';

    for (var i = 1; i <= 50; i++) {
        if (i !== id) {
            document.getElementById("id" + i).style.position='fixed';
            document.getElementById("id" + i).style.visibility='hidden';
        }
    }
}
函数makeIdVisible(id){
document.getElementById(“id”+id).style.position='relative';
document.getElementById(“id”+id).style.visibility='visible';

对于(var i=1;i给你的复选框类名称“someclass”,并按函数选择所有元素
documet.getElementsByClassName

给你的复选框类名称“someclass”,并按函数选择所有元素
documet.getElementsByClassName
你可以编写这样的函数:

document.getElementById("id1").style.position='relative';
document.getElementById("id1").style.visibility='visible';
function makeVisible( id ){
    var idList = ['id1','id2','id3','id4'];
    for( var i = 0, l = idList.length; i<l ; i++ ){
        document.getElementById(idList[i]).style.position='fixed';
        document.getElementById(idList[i]).style.visibility='hidden';
    }
    document.getElementById(id).style.position='relative';
    document.getElementById(id).style.visibility='visible';
}
函数makeVisible(id){
var idList=['id1','id2','id3','id4'];

对于(var i=0,l=idList.length;i您可以编写如下函数:

document.getElementById("id1").style.position='relative';
document.getElementById("id1").style.visibility='visible';
function makeVisible( id ){
    var idList = ['id1','id2','id3','id4'];
    for( var i = 0, l = idList.length; i<l ; i++ ){
        document.getElementById(idList[i]).style.position='fixed';
        document.getElementById(idList[i]).style.visibility='hidden';
    }
    document.getElementById(id).style.position='relative';
    document.getElementById(id).style.visibility='visible';
}
函数makeVisible(id){
var idList=['id1','id2','id3','id4'];

对于(var i=0,l=idList.length;我所有的50个元素都是哪种类型的?或者你能给它们指定类名吗?所有的50个元素都是哪种类型的?或者你能给它们指定类名吗?你为我节省了几千行编码我的朋友!你为我节省了几千行编码我的朋友!