Почему мой разрыв строки не станет неактивным с JavaScript? - PullRequest
0 голосов
/ 27 февраля 2012

Я пытался использовать JavaScript, чтобы отключить эффект тега <BR/> при загрузке моей страницы, но по какой-то причине он не работает.Я чувствую, что сделал какую-то ошибку, вот мой HTML:

<HTML>
<HEAD>

<SCRIPT type="text/javascript">

var brTag = document.getElementById('newline');
brTag.style.display = 'none';

</SCRIPT>
</HEAD>

<BODY>

Line 1 <BR id = "newline" />
Line 2

</BODY>
</HTML>

Ответы [ 2 ]

1 голос
/ 27 февраля 2012

Наши уважаемые коллеги говорят, что нужно сделать следующее:

<html>
    <head>
        <script type="text/javascript">
            window.onload = function () {
                var brTag = document.getElementById('newline');
                brTag.style.display = 'none';
            };
        </script>
    </head>
    <body>
        Line 1 <br id="newline" />
        Line 2
    </body>
</html>

или это:

<html>
    <head>
    </head>
    <body>
        Line 1 <br id="newline" />
        Line 2
        <script type="text/javascript">
            var brTag = document.getElementById('newline');
            brTag.style.display = 'none';
        </script>
    </body>
</html>

Таким образом, <br id="newline" /> существует в DOM, когда ваш код выполняется,В настоящее время вы выполняете свой код до того, как <br id="newline" /> будет добавлено в дерево DOM.

1 голос
/ 27 февраля 2012

Вы ссылаетесь на newline до того, как оно будет объявлено. Попробуйте запустить скрипт после создания элемента (то есть, позже в файле или внутри функции, которая вызывается позже в файле)

...