您的选择器可以选择所有相关项目,如下所示:
var $items = $("#rs1, #rs2, #rs3, #rs4, #rs5, #rs6, #rs7, #rs8, #rs9, #rs10, #rs11, #rs12, #rs13");
或者,如果您在列表中有一个 id(例如:)<ul id='myUlId'>,那就更容易了:
var $items = $('#myUlId li');
然后:
$("#rade_img_map_1335199662212").hover(function () {
$items.toggleClass("active").fadeIn("slow"); //Toggle the active class to the area is hovered and fade in.
});
更新......或者更简单,一口气涵盖所有内容!:
$("#rade_img_map_1335199662212").hover(function () {
$('#myUlId li').toggleClass("active").fadeIn("slow"); //Toggle the active class to the area is hovered and fade in.
});
更新 2
应用于 li 的 id 对应于悬停区域:
$("#rade_img_map_1335199662212 area").hover(function () {
var areaId = $(this).attr('id'); //grab the hovered area's it
var $li = $('li#rs' + areaId); //select an li based on the hovered area
$li.toggleClass("active").fadeIn("slow"); //Toggle the active class and fade in.
});
更新 3
...如果该区域没有 id,那么您需要一种方法从包含它的其他属性中刮取适当的数字,例如 href。假设hrefs都以常规模式在其中某处具有索引号,并且没有其他数字,那么您可以使用
var href = $(this).attr('href');
var id = href.match(/\d+/)
如果您可以控制地图的标记结构,那么最酷(HTML5,但向后兼容)的事情就是将索引放在 data- 属性中,如下所示:
<area data-li-id="4">
然后在悬停功能内的一行中为 li 抓取一个选择器,如下所示:
var $li = $('li#' + $(this).attr('data-li-id'));