如何测试IE6 / 7中是否存在“nohref”属性?

时间:2011-06-03 16:54:19

标签: javascript jquery internet-explorer-6 imagemap

nohref标记上的area属性会导致从图像地图中明确排除这些属性。它适用于IE 6-7,因为当鼠标悬停在标记为此类的区域上时,您可以看到鼠标指针未被更改。矩形具有“nohref”而蓝色圆圈没有。

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

然而,我无法想出任何方式以编程方式在IE 6中运行的Javascript中进行测试。 7. getAttribute始终返回false,无论该属性是否存在。 jQuery .attr也不起作用。

2 个答案:

答案 0 :(得分:2)

要选择具有area属性的nohref元素,您可以使用attribute-equals表示法:

$('area[nohref]');

为了证明这一点:

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

JS Fiddle demo

参考:

答案 1 :(得分:2)

通过XHTML standard,nohref属性应写为nohref="nohref"。如果您这样做,则可以轻松地对其进行测试,因为.attr('nohref')将返回字符串"nohref"

但HTML5中不再支持此属性 。来自W3C working draft

  

area元素的nohref属性已过时。省略href属性就足够了。

因此,您可以if($('area').attr('href')){ /* href is set */ }进行测试。