Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Что такое className?


Автор: Budy 2.2.2005, 15:04
:Приветствую
Есть есть у меня два созданных стиля, 1ый при создании:
Код

<DIV class=normal...
и 2ой при наведении мыши:
Код

...onmouseover="this.style.class=selected">...</DIV>

А вот шото не работает. Подскажите чего тут.

Автор: Budy 2.2.2005, 15:30
P.S.По обычному все стили работают

Автор: Се ля ви 2.2.2005, 16:04
class - это не стилевой атрибут, просто стили его используют. Надо обращаться к нему так:
Код

var thisClass = this.className; // Чтение и запись значения в переменную thisClass


Сообтветственно, вместо
Код

...onmouseover="this.style.class=selected">...</DIV>

надо писать
Код

...onmouseover="this.className = 'selected';">...</div>


P.S. Хотя свойство и называется className, т.е. в единственном числе, на самом деле один элемент может ссылаться на несколько разных классов - в этом свойстве их тогда нужно разделять пробелом, то же касается и задания класса в теге атрибутом "class".

P.P.S. Пожалуйста, заключай значения атрибутов в кавычки и пиши все теги маленькими буквами - а то, если честно, режет глаз. Следуй нотации XHTML хотя бы в этом...

Автор: Budy 2.2.2005, 18:40
Се ля ви, спасибо
Не знаю XHTML, не нашел по нему литеры.
А чего там в нем?

Автор: Се ля ви 2.2.2005, 18:51
XHTML - это, грубо говоря, HTML, стилизованный под XML - в реале просто более жесткая чёткая нотация, образованная применением правил XML-документов к HTML, тем самым ужесточив этот формат. Человек, создающий XHTML-документ обязан все теги и атрибуты писать малыми буквами, значения атрибутов заключать в кавычки и закрывать все теги (если тег не имеет содержимого, как тег "br", то закрывающим считается и открывающий - для этого в конце перед закрывающим ">" ставится пробел и "/", т.е. в итоге выглядит так: "<br />").
Плюс надо вначале документа писать DOCTYPE и писать пространство имён по-умолчанию:
Код
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>

<body>
</body>
</html>

Нужно это для того, что бы многочисленные утилиты для работы с XML работали и для твоих документов. Но это абстрактно, а реально эта более новая нотация, которая призвана заменить старую и облегчить работу браузеров и поисковых машин. Плюс, когда привыкнешь, в XHTML всё получается чётче и лучше, чем в обычном HTML, который более расхлябанный...

Автор: Sardar 2.2.2005, 23:22
Цитата
обязан все теги и атрибуты писать малыми буквами

По моему аттрибуты могут быть в произвольном регистре, при выборке регистр учитывается.

Автор: Се ля ви 3.2.2005, 10:05
Цитата(Sardar @ 2.2.2005, 23:22)
По моему аттрибуты могут быть в произвольном регистре

Согласен, маленькие буквы - касается только тегов. Атрибуты типа
Код

onClick="fnClick();"
- возможны. Хотя я предпочитаю не пользоваться...

Автор: Aliance 3.2.2005, 19:52
Цитата
<html xmlns="http://www.w3.org/1999/xhtml">

Зачем это нужно?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)