document.style.display由于某种原因不坚持

时间:2011-07-26 15:16:11

标签: javascript html css hidden

编辑:所以我将style.display更改为阻止,其中一些工作正常。内部和外部textareas回来时找不到元素


另一个编辑:

在我的CSS中,我有一个显示:无。 当我删除它,它的工作原理。但这并不好,因为元素只有在onclick之后才可用。为什么设置它显示没有阻止它显示?


我这里有一个简单的脚本。基本上我想将面板的所有内容设置为不可见(document.style.display =“none”),然后在我浏览完所有内容之后,将其设置为可见,如方法所示。

使用Javascript:

function showText(divToShow)
{
    var docsToHide = document.getElementsByClassName("full-width");
    for (var i = 0; i<docsToHide.length;i++)
    {
        docsToHide[i].style.display="none";
    }
    var docToShow=document.getElementById(divToShow);
    docToShow.style.display="table";
    console.log(docToShow.style.display);
}

一些注意事项:全宽度以下列形式返回textAreas的完整列表:

[textarea#page-description-textarea.full-width, textarea#keywords-text-area.full-width, textarea#files-textarea.full-width, textarea#internal-links-textarea.full-width, textarea#external-links-textarea.full-width]

在它们全部设置之后的循环结束时,我将指定的textArea(divToShow).display设置为表,但之后没有任何显示。

有什么想法吗?我忽略了什么吗?


编辑:为textareas添加了html

 <div id="text-column">
                    <div id="page-description-text">
                        <textarea id = "page-description-textarea" class="full-width">Page Description</textarea>
                    </div>
                    <div id="keywords-text">
                        <textarea id="keywords-text-area" class="full-width"> Keywords</textarea>
                    </div>
                    <div id="files-text">
                        <textarea id="files-textarea"class="full-width">files</textarea>
                    </div>
                    <div id="internal-links-text">
                        <textarea  id="internal-links-textarea" class="full-width">internal</textarea>
                    </div>
                    <div id="external-links-text">
                        <textarea id="external-links-textarea"class="full-width">external</textarea>
                    </div>
                </div>

最后要注意的是,所有textArea元素都将自己设置为不可见。他们只是不回来。

1 个答案:

答案 0 :(得分:1)

您是否将正确的id传递给showText()函数?

由于您的变量名为divToShow,我认为您正在传递id <div>正确设置display:table,但您已经< em>实际上隐藏了隐藏的<textarea>孩子。

如果您通过了id的{​​{1}},则代码功能会按预期工作,就像在this demo中一样。