我正在尝试实现一个JQuery脚本来处理图像映射中的某些区域。
我使用$('area [shape =“ poly”]')作为选择器来获取我感兴趣的区域。它在IE8和Firefox中运行良好,但未选择IE6或IE7中的元素。
这是一个显示此问题的测试页。我不知道这是不是JQuery错误,还是我做错了什么。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[
$(document).ready(function() {
var areas = $('area[shape="poly"]');
alert('areas: ' + areas.length);
});
//]]>
</script>
<title>Test</title>
</head>
<body>
<img id="img1" src="nothing.gif" style="width:300px; height:300px; border: 2px solid black" usemap="#map1"/>
<map id="map1">
<area shape="rect" title="rectArea" coords="126,112,231,217" alt=""/>
<area shape="poly" title="polyArea1" coords="274,72,262,70,251,68,240,67,228,66,217,67,206,68,194,70,183,72,181,63,192,60,204,58,216,57,228,56,240,57,252,58,264,60,276,63" alt=""/>
<area shape="poly" title="polyArea2" coords="241,194,235,193,228,193,222,193,216,194,196,119,204,117,212,116,220,115,228,115,237,115,245,116,253,117,261,119" alt=""/>
</map>
</body>
</html>
在IE8和Firefox中显示为2,在IE6-7中显示为0
谢谢,
吉列尔莫
最佳答案
如果将值大写,则似乎可以使用:
var areas = $('area[shape="POLY"]');