Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   новый DOM элемент не подхватывает свой css (https://javascript.ru/forum/events/51392-novyjj-dom-ehlement-ne-podkhvatyvaet-svojj-css.html)

bochus 05.11.2014 18:29

новый DOM элемент не подхватывает свой css
 
Доброе время суток всем.
не могу разобраться с подключением CSS к элементу созданному через скрипт.
По клику на один див создается другой со своим классом, прописанном в отдельном файле . Но новый элемент не получает css настройки.
Заранее благодарен.

Aetae 05.11.2014 18:33

Должен получать без вариантов. Где код?
Ванга: опечатка в имени класса.
Мессинг: файл с нужными стилями не подключён.

bochus 05.11.2014 18:38

<head>
<title></title>
    <script type="text/javascript" type="text/javascript" src="script.js"></script>
    <link rel="stylesheet" type="text/css" href="style.css"/>
<meta name="" content="">
</head>
<body>
<div class="aaa" onclick="changeDiv()">AAAAA aaaaa</div>
</body>

function changeDiv()
{
document.write('<div id="bbb">BBBB nnnnBB</div>');	
}

.aaa
{
color:#ff0000;
}
#bbb
{
color:blue;
}

bochus 05.11.2014 18:41

Все подключено и опечаток нет.

Aetae 05.11.2014 18:45

http://alljs.ru/articles/document-write
Цитата:

document.write работает только на этапе загрузки страницы, его нельзя вызывать в ответ на какое-нибудь событие.

kostyanet 05.11.2014 19:35

Интересно откуда народ берет этот райт? Я один раз попробовал - он мне всю страницу выкосил, оставил только свое, родное, больше не хочется.

bochus 05.11.2014 19:39

Советчика одного послушал.
Спасибо. Буду думать.

kostyanet 05.11.2014 19:45

Что там думать-то? document.createElement('div')...

Aetae 05.11.2014 21:34

kostyanet, не - самое true в этом плане это elem.insertAdjacentHTML() .:)

bochus 08.11.2014 13:34

Проблема то не в том как создать элемент. К этому диву css не подключается.

kostyanet 08.11.2014 13:46

Надо посмотреть как подключаете.

Цитата:

Сообщение от Aetae
самое true в этом плане это elem.insertAdjacentHTML(


Оно аппендит.

Aetae 08.11.2014 13:55

bochus, сказано же, ять, не использовать document.write. CSS ту не причём от слова совсем: document.write переписывает всю страницу.

bochus 09.11.2014 13:24

Спокойствие только спокойствие.
Даже при создании через document.createElement('div') и document.body.appendChild(newDiv); Эффект тот же.

Aetae 09.11.2014 13:27

Код в студию. У меня всё работает:
http://learn.javascript.ru/play/l2lzTb

bochus 09.11.2014 14:29

когда создаю див с ID все работает. а вот с классом лажа.

bochus 09.11.2014 14:53

Понял. Из за мелкой х...и не работала.
класс нужно вписывать через - newDiv.className="c";


Часовой пояс GMT +3, время: 02:56.