X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

2 страниц V   1 2 >
Открыть тему
Тема закрыта
> W3C Validator для моего сайта. Помогите исправить
pavelsc
pavelsc
Topic Starter сообщение 2.12.2010, 4:17; Ответить: pavelsc
Сообщение #1


Проблема вот тут
Суть проблемы: валидатор ругается на невалидный атрибут тега <img>. data-magnifyto используется jQuery скриптом
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexdrob
alexdrob
сообщение 2.12.2010, 4:22; Ответить: alexdrob
Сообщение #2


Вы использовали атрибут выше в документе, но тип документа вы используете не поддерживает этот атрибут для данного элемента.

Вообщем не знает валидатор такого атрибута data-magnifyto
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
pavelsc
pavelsc
Topic Starter сообщение 2.12.2010, 13:10; Ответить: pavelsc
Сообщение #3


alexdrob, нет, ну это конечно все понятно, а вот как это исправить - ума не приложу. Это атрибут, описываемый в jQuery скрипте, если бы он в стиле был, загнал бы его в CSS, как валидатор советует, а тут - хз
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Alcorn
Alcorn
сообщение 2.12.2010, 13:38; Ответить: Alcorn
Сообщение #4


js-скриптом при загрузке и назначать элементу этот самый атрибут.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
pavelsc
pavelsc
Topic Starter сообщение 3.12.2010, 1:55; Ответить: pavelsc
Сообщение #5


Alcorn, я не уверен что валидатор JS проверяет, но все-таки прописал после body
<script type="text/javascript">
document.getElementsByTagName('img').setAttribute('data-magnifyto','0');
</script>
Все равно ругается на то, что невалидный атрибут для данного типа документа. То есть получается такая крутая вещь как создание произвольных атрибутов для элементов приводит к инвалидности??
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Alcorn
Alcorn
сообщение 3.12.2010, 9:49; Ответить: Alcorn
Сообщение #6


Валидатор неумеет выполнять javascript и данное назначение атрибута будет полностью валидным.

Насчёт произвольных тегов/атрибутов, они должны быть описаны в ваших нестандартных неймспейсах (стандартный - <html xmlns="http://www.w3.org/1999/xhtml">), при желании можно и dtd переписать. Будет ли в данном случае проходить валидацию - нужно проверять.

В html5 пользовательские атрибуты начинаются с "data-", но стандарту xhtml 1.0 это не о чём не говорит, назначайте через js.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
pavelsc
pavelsc
Topic Starter сообщение 3.12.2010, 19:58; Ответить: pavelsc
Сообщение #7


Alcorn,
Валидатор неумеет выполнять javascript и данное назначение атрибута будет полностью валидным.

как это понимать? Почему назначение валидно, если валидатор не выполняет JS?
Я же постом выше назначил, или я неправильно это сделал?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexdrob
alexdrob
сообщение 3.12.2010, 20:07; Ответить: alexdrob
Сообщение #8


(pavelsc @ 3.12.2010, 21:58) *
Я же постом выше назначил, или я неправильно это сделал?

Ну ывы назначали, но в коде видимо в html не убрали)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Alcorn
Alcorn
сообщение 4.12.2010, 6:34; Ответить: Alcorn
Сообщение #9


Ага, в коде нужно убрать этот атрибут у img.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
pavelsc
pavelsc
Topic Starter сообщение 4.12.2010, 22:06; Ответить: pavelsc
Сообщение #10


[B][B]alexdrob[/B], [/B][B][B]Alcorn[/B] спасибо [/B]*смайлик с кружками пива типа*
Теперь валидно, зато скрипт не работает *грустный смайлик* Прикол в том, что jQuery код
//** The following applies the magnify effect to images with class="magnify" and optional "data-magnifyby" and "data-magnifyduration" attrs
//** It also looks for links with attr rel="magnify[targetimageid]" and makes them togglers for that image

jQuery(document).ready(function($){
var $targets=$('.magnify')
$targets.each(function(i){
var $target=$(this)
var options={}
if ($target.attr('data-magnifyto'))
options.magnifyto=parseFloat($target.attr('data-magnifyto'))
if ($target.attr('data-magnifyby'))
options.magnifyby=parseFloat($target.attr('data-magnifyby'))
if ($target.attr('data-magnifyduration'))
options.duration=parseInt($target.attr('data-magnifyduration'))
$target.imageMagnify(options)
})
var $triggers=$('a[rel^="magnify["]')
$triggers.each(function(i){
var $trigger=$(this)
var targetid=$trigger.attr('rel').match(/\[.+\]/)[0].replace(/[\[\]']/g, '') //parse 'id' from rel='magnify[id]'
$trigger.data('magnifyimageid', targetid)
$trigger.click(function(e){
$('#'+$(this).data('magnifyimageid')).trigger('click.magnify')
e.preventDefault()
})
})
})
просто не видит атрибут, назначенный у меня через функцию
function magnifyto()
{
document.getElementById('pic0').setAttribute('data-magnifyto', 864);
}
Хотя проверил алертом ради интереса - атрибут есть.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Посоветуйте массажер для спины и шеи
11 Boymaster 930 Сегодня, 18:24
автор: Arsenwenger
Горячая тема (нет новых ответов) ⭕Антидетект браузер AdsPower для эффективной работы с мультиаккаунтами!
84 AdsPower 24598 Сегодня, 16:35
автор: AdsPower
Горячая тема (нет новых ответов) Betatransfer.net - прием платежей для HIGH RISK проектов, интернет эквайринг и мерчант онлайн оплат
55 arendator 35107 Сегодня, 2:12
автор: arendator
Открытая тема (нет новых ответов) Rebex.io – Ваша инновационная платформа для обмена криптовалюты!
3 Rebex 975 Вчера, 20:50
автор: Rebex
Открытая тема (нет новых ответов) Обучение Email Рассылкам + Софт Для Автоматизации (100к в сутки с сервера)
10 zennoboss 4668 Вчера, 5:20
автор: Skyworker


 



RSS Текстовая версия Сейчас: 25.4.2024, 23:46
Дизайн