сделать валидный такой код span hashString="" hashType="" в XHTML

wlad2
На сайте с 17.07.2008
Offline
153
1089

Как сделать валидным такой код:

<span hashString="a9151fcce2b241caec82fd59d009d975" hashType="content"></span>

вот что говорит валидатор:

…<li class="cat-item"><span hashString="a9151fcce2b241caec82fd59d009d975" hashT…



You have used the attribute named above in your document, but the document type you are using does not support that attribute for this element. This error is often caused by incorrect use of the "Strict" document type with a document that uses frames (e.g. you must use the "Transitional" document type to get the "target" attribute), or by using vendor proprietary extensions such as "marginheight" (this is usually fixed by using CSS to achieve the desired effect instead).

This error may also result if the element itself is not supported in the document type you are using, as an undefined element will have no supported attributes; in this case, see the element-undefined error message for further information.

How to fix: check the spelling and case of the element and attribute, (Remember XHTML is all lower-case) and/or check that they are both allowed in the chosen document type, and/or use CSS instead of this attribute. If you received this error when using the <embed> element to incorporate flash media in a Web page, see the FAQ item on valid flash.

помогите советом?

TakingBackMySoul
На сайте с 09.11.2011
Offline
65
#1

Doctype используете такой XHTML 1.0 Transitional?

Либо используйте его, либо <!DOCTYPE html>

wlad2
На сайте с 17.07.2008
Offline
153
#2

мой

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
либо <!DOCTYPE html>

а это разве не HTML 5?

TakingBackMySoul
На сайте с 09.11.2011
Offline
65
#3

Он самый, особой разницы в верстке макетов нет, большая доля вероятности что весь ваш проект будет засчитан как валидный, если только вы не используете такой мусор как например: <center></center>

wlad2
На сайте с 17.07.2008
Offline
153
#4

мусора нет,

прописал

<!DOCTYPE html>

все равно выбивает ошибку

Attribute hashtype not allowed on element span at this point.
[Удален]
#5
TakingBackMySoul:
Он самый, особой разницы в верстке макетов нет, большая доля вероятности что весь ваш проект будет засчитан как валидный, если только вы не используете такой мусор как например: <center></center>

особой нет,а не особая какая? в контексте данной проблемы.

заранее спасибо за разъяснение.

wlad2
На сайте с 17.07.2008
Offline
153
#6

кто что скажет? это в <!DOCTYPE html>

Решил выйти из ситуации таким вот кодом <div data-hashString="a9151fcce2b241caec82fd59d009d975" data-hashType="content"></div>

валидность прошло,

но вопрос к тем кто шарит в теме.. так правильно?

SJ
На сайте с 16.03.2008
Offline
78
#7
wlad2:

кто что скажет? это в <!DOCTYPE html>

Решил выйти из ситуации таким вот кодом <div data-hashString="a9151fcce2b241caec82fd59d009d975" data-hashType="content"></div>
валидность прошло,
но вопрос к тем кто шарит в теме.. так правильно?

Да. data аттрибуты для того и сделали.

Любимый хостинг (http://beget.ru?id=2902) How can we grow old when the soundtrack of our lives is rock-n-roll?
Ayavryk
На сайте с 11.10.2003
Offline
209
#8

1. Валидность с точки зрения стандарта xHTML можно обеспечить добавлением дополнительного namespace. см. например здесь или здесь. Но W3C HTML-валидатор тупой и это не пропустит. Так что вам от этого легче не станет.

2. Я так понимаю, что все это нужно для работы JavaScript?

Если так, то все можно любые доп. данные паковать в class, а затем на клиенте преобразовывать в то что надо.

В jQuery для этого есть плагин metadata (который нетрудно написать самому) Он позволяет вытаскивать данные заданные в классе в формате json типа:

<span class="myData {hashString:'a9151fcce2b241caec82fd59d009d975',hashType:'content',...}"></span>

.....................................................................................................

.....................................................................................................

<script>

var hashString=$('.myData').metadata.get('hashString'),

hashType=$('.myData').metadata.get('hashType');

</script>

Имхо - это наиболее правильный метод. Хотя не без недостатков.

Тынгыр, мынгыр, комсомол (http://erum.ru). Ехари, ехари, (жалобно) аяврик. /народная тунгусская песня/

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий