Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Не выходит innerHTML (https://javascript.ru/forum/events/10453-ne-vykhodit-innerhtml.html)

Hagrael 06.07.2010 08:37

Не выходит innerHTML
 
Я пишу
<html>

<head>
  <title>Show Childs</title>
  <script>
  function r() {
	document.divak.innerHTML="HIIHIHIHI"
  }

  </script>
</head>

<body>

<form name="form">
<input type="button" value="r()" onClick="r()" name="bs" style="width: 30px;">
</form>
<div name="divak"></div>
</body>

</html>


А при нажатии ничего не происходит. Вы можете привести пример?

Hagrael 06.07.2010 08:44

И с командой ParseInt вы не могли бы мне помочь.
В туториале написано:
onclick="this.style.width = parseInt(this.style.width)-10+'px'"

За что конкретно она отвечает? Не мог бы кто-нибудь привести ещё один пример и помочь мне разобраться. Заранее спасибо.

Hagrael 06.07.2010 08:46

Теперь попытался через getElementById. Получилось! Почему так?

exec 06.07.2010 09:40

Цитата:

За что конкретно она отвечает?
Преобразует объект в тип Number.

alert( typeof parseInt('1') );


Цитата:

Теперь попытался через getElementById. Получилось! Почему так?
У DIV'-ов нету атрибута name.

e1f 06.07.2010 13:41

Цитата:

Сообщение от exec (Сообщение 62375)
Преобразует объект в тип Number.
alert( typeof parseInt('1') );

Не совсем. Парсит строку, пытаясь сделать из нее число. Вдогонку:
alert('08'|0); // 8
alert(parseInt('08')); // 0

exec 06.07.2010 13:54

Цитата:

Парсит строку, пытаясь сделать из нее число.
alert( typeof parseInt([]) );


Можете ничего не отвечать, я знаю, что всё равно неправ. А мой пример с массивом — просто мелочь и ничего не доказывает, правда?

Kolyaj 06.07.2010 14:03

А что он доказывает?

exec 06.07.2010 14:04

То, что parseInt преобразует объект в тип Number, а не

Цитата:

Парсит строку, пытаясь сделать из нее число

Kolyaj 06.07.2010 14:08

Нет, она преобразует переданный аргумент в строку и пытается её отпарсить.

e1f 06.07.2010 14:08

Цитата:

Сообщение от exec (Сообщение 62437)
То, что parseInt преобразует объект в тип Number, а не

Это значит лишь то, что parseInt всегда возвращает число. NaN тоже число ;)
Код:

>>> parseInt([])
NaN


Hagrael 07.07.2010 14:45

Большое спасибо!
Значит, из '50' ParseInt делает 50, и из '50px' он тоже сделает 50, буквы он вообще убирает, да? Но почему ParseInt('08')=0? Он же должен сделать число 08, а значит, 8. И что означает alert('08' | 0) я тоже не понял.

exec 07.07.2010 14:47

Цитата:

Но почему ParseInt('08')=0?
0 — префикс для восьмеричных чисел, в восьмеричной системе нет цифры 8.

Цитата:

И что означает alert('08' | 0) я тоже не понял.
Это побитовое сложение.

Hagrael 07.07.2010 15:01

Спасибо всем!
Но почему ParseInt из "08" делает 0, а не 8? Ведь "08" - это 08, а значит, 8. Кст., alert('08' | 0) я не понял.

Kolyaj 07.07.2010 15:05

Потому что parseInt парсит не только 10-ричную систему счисления. А 0 -- традиционный префикс восьмиричной системы.

Hagrael 07.07.2010 15:11

Ой, извините, я 2 поста оставил. Просто у меня почему-то первый не отобразился.
У меня ещё вопрос, уже по второй главе:
elem.master = {
  name: vasya
}
alert(elem.master.name)

Обязательно, чтобы создать объект писать elem.объект? И нельзя ли потом писать name='Vasya'?

Hagrael 07.07.2010 15:14

Можно просто написать master {
name: MASTER
}
И потом ссылаться на его имя, как master.name?

Hagrael 07.07.2010 15:18

Кст., а к width'у div'a с id="K" как обращаться?
document.#k.width?
И вообще зачем использовать SetAttributive, когда можно просто написать
имя_атрибута=значение?

Hagrael 07.07.2010 15:31

А если у меня написано вот так:
<body><div id="K"><a href="ссылка" name="s">ссылка</a></div></body>

Как мне обращаться к ссылке в данном случае? Заранее благодарен за помощь.

Kolyaj 07.07.2010 15:35

http://javascript.ru/tutorial/dom/search

Hagrael 07.07.2010 15:46

[QOUTE]Обязательно, чтобы создать объект писать elem.объект? И нельзя ли потом писать name='Vasya'?[/quote]
Цитата:

Можно просто написать master {
name: MASTER
}
И потом ссылаться на его имя, как master.name?
Заранее благодарен за помощь.

Hagrael 07.07.2010 15:51

Как достучаться через div я так и не понял.

Hagrael 07.07.2010 15:56

// элемент-список UL
var list = document.getElementById('list')

// новый элемент
var li = document.createElement('LI')
li.innerHTML = 'Новый элемент списка'

// добавление в конец
list.appendChild(li)

А document.li больше не существует?

Получается такой код?
<ul id="list">
<li>Первый элемент</li>
<li>Второй элемент</li>
</ul>

Kolyaj 07.07.2010 16:06

Hagrael,
несмотря на то, что предложения у вас вроде связные, смысла в них найти не удаётся.

Hagrael 07.07.2010 16:14

Kolyaj,
извиняюсь, если непонятно выразился.
В <a href="http://javascript.ru/tutorial/dom/modify">этом</a> уроке приведён пример:
Вот HTML-код, который был начале, до нажатия на кнопку:
<ul id="list">
<li>Первый элемент</li>
</ul>

Но после нажатия на кнопку (да-да, это я её придумал, в коде её нет), происходят следующие действия:
// элемент-список UL
var list = document.getElementById('list')

// новый элемент
var li = document.createElement('LI')
li.innerHTML = 'Новый элемент списка'

// добавление в конец
list.appendChild(li)

И в итоге получается код, приведённый ниже?
<ul id="list">
<li>Первый элемент</li>
<li>Новый элемент списка</li>
</ul>

Kolyaj 07.07.2010 16:28

А вопрос в чём?

Hagrael 07.07.2010 16:29

Я спросил, получается ли в итоге код, представленный мной ниже.

Kolyaj 07.07.2010 16:29

Так вы попробуйте. А потом нам скажете, получается или нет.

Hagrael 07.07.2010 16:34

Хотел заранее узнать теорию - как должно получаться.


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