document.style.display по какой-то причине не прилипает - PullRequest
1 голос
/ 26 июля 2011

РЕДАКТИРОВАТЬ: поэтому я изменил style.display для блокировки, и некоторые из них работали.внутренние и внешние текстовые области возвращаются с элементом не найденным


Другое редактирование:

В моем CSS у меня было отображение: нет.Когда я удаляю это, это работает.Но это не хорошо, так как элемент должен быть доступен только после щелчка мышью.Почему настройка отображения ни одного не помешает его отображению?


У меня есть простой скрипт.По сути, я хотел, чтобы все содержимое панели было невидимым (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 в качестве таблицы, но после этого ничего не отображается.

Есть идеи?Я что-то пропускаю?


edit: Добавлен html для textareas

 <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 Ответ

1 голос
/ 26 июля 2011

Вы передаете правильный id в вашу showText() функцию?

В связи с тем, что ваша переменная называется divToShow, я думаю, что вы передаете id из <div>, который правильно устанавливает display:table, но вы на самом деле скрыли <textarea> ребенок, который остается скрытым.

Если вместо этого передать id из <textarea>, функция кода будет работать, как и ожидалось, как в в этой демонстрации .

...