Управление DOM с помощью (без фреймворка) JavaScript - PullRequest
2 голосов
/ 07 октября 2011

Хорошо, я не использую JavaScript без JQuery уже довольно давно ... Но, поскольку кодирование идет, мне приходится обходиться без его возможностей для проекта, где я не могу быть уверен, что JQuery предоставляется.

Я пытаюсь сделать следующее с помощью JQuery:

$(document).ready(function() {
    $('#myDiv').append('<ul><li>a</li><li>b</li></ul>');
});

Что касается не-jquery, то это то, что у меня есть, и я действительно не могу понятьпочему это не работает:

<html>
    <head>
        <script type="text/javascript">
            function load() {
                var s = '<ul><li>a</li><li>b</li></ul>'; 
                var element = document.getElementById("myDiv");
                element.innerHtml += s;
            }
        </script>
    </head>
    <body onload="load()">
        <div id="myDiv"></div>
    </body>
</html>

Дело в том, что ничего не происходит (хотя функция вызывается).Может ли быть так, что DOM не готов при вызове load ()?Я смутно помню этот код, работающий в эру Firefox 2.x IE7 ...

Какое (а) правильное решение?

Ответы [ 3 ]

9 голосов
/ 07 октября 2011

Это innerHTML, а не innerHtml.Обратите внимание на верхний регистр HTML.Измените это, и оно должно работать нормально!Вот рабочий пример .

Используя innerHtml, вы просто создаете новое свойство для объекта элемента и присваивает ему значение s.

2 голосов
/ 07 октября 2011
<html>
    <head>
        <script type="text/javascript">
            function load() {
                var s = '<ul><li>a</li><li>b</li></ul>';
                var element = document.getElementById("myDiv");
                element.innerHTML += s;
            }
        </script>
    </head>
    <body onload="load()">
        <div id="myDiv"></div>
    </body>
</html>

JS чувствителен к регистру

0 голосов
/ 07 октября 2011

Я думаю, что вы хотите element.innerHTML += s;.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...