Как проверить наличие атрибута nohref в IE6 / 7? - PullRequest
0 голосов
/ 03 июня 2011

Атрибут nohref в теге area приводит к тому, что они должны быть специально исключены из карты изображения.Он работает в IE 6-7 в том смысле, что вы можете видеть, что указатель мыши не изменяется при наведении курсора на область, отмеченную как таковая.Прямоугольник имеет «nohref», а синий круг - нет.

http://jsfiddle.net/ZNMEC/7/

Однако я не могу найти какой-либо способ программно проверить его в Javascript, который работает вIE 6 и 7. getAttribute всегда возвращает false независимо от того, присутствует атрибут или нет.jQuery .attr тоже не работает.

Ответы [ 2 ]

2 голосов
/ 03 июня 2011

По стандарту XHTML атрибуты nohref должны быть записаны как nohref="nohref" Если вы сделаете это, вы можете легко проверить это, так как .attr('nohref') вернет строку "nohref".

Однако этот атрибут больше не поддерживается в HTML5 . Из W3C рабочего проекта :

Атрибут nohref в элементе области устарел. Достаточно пропустить атрибут href.

Поэтому вы можете проверить это по if($('area').attr('href')){ /* href is set */ }.

2 голосов
/ 03 июня 2011

Чтобы выбрать элементы area с атрибутом nohref, вы можете использовать запись атрибута-равно:

$('area[nohref]');

Для демонстрации этого используется:

alert($('area[nohref]').length);

JS Fiddle demo .

Справка:

...