【问题标题】:How to get attr() of image area?如何获取图像区域的attr()?
【发布时间】:2012-02-05 12:57:32
【问题描述】:

我有一个图像区域:

<img class="projmap" src="images/proj.png" width="628" height="245" alt="" usemap="#projmap" />
<map id="projmap" name="projmap">
<area shape="poly" alt="1" title="some1" coords="59,45,118,61,141,52,133,38,128,35,164,17,171,43,214,31,240,99,192,148,193,157,212,156,212,221,140,228,100,222,77,226,60,226,58,218,58,197,72,187,74,159,42,159,36,150,68,109,56,108,55,108" id="house1" href="#dialog-modal" />
<area shape="poly" alt="2" title="some2" coords="241,96,402,85,413,148,416,153,401,152,403,213,418,219,418,228,395,227,387,234,369,234,359,231,354,238,342,239,342,229,304,227,298,236,287,232,286,224,239,224,212,224,210,161,207,151,189,151,240,96" href="#dialog-modal" id="house3" />
<area shape="poly" alt="3" title="some3" coords="409,103,494,53,592,121,574,128,573,158,576,175,570,182,582,210,528,223,434,222,430,213,414,213,403,208,405,172,405,152,416,152,407,103" id="house2" href="#dialog-modal" />
</map>

并且想要在点击时获得一个 alt 属性。试过这个:

$('#house1').fancybox({
        'scrolling'     : 'no',
        'padding'       : 0,
        'autoScale'     : false,
        'titleShow'     : false,
        'onComplete'    : function() {
            var cat = $("area").attr("alt");
            FillCats(cat);
        }
    });

但 attr 没有被捕获。

【问题讨论】:

标签: jquery attr area


【解决方案1】:

你需要指定你想要的区域。

如果你想要你点击写的区域的alt:

var cat = $(this).attr("alt");

【讨论】:

  • tryonComplete:function(currentArray, currentIndex, currentOpts){$(currentArray[currentIndex]).attr("alt");}
  • 总是返回 1 - 第一个区域的 alt。
【解决方案2】:

这将起作用:

var sel = 0;

[...]

$('area').click(function(e) {
    sel = $(this).attr('alt');
});

sel 将包含最后点击的区域。

【讨论】:

  • 对我来说似乎可以正常工作,请尝试查看here
【解决方案3】:

试试这个var alt = $(this).find("img").attr("alt");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-11-09
    • 2018-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-14
    相关资源
    最近更新 更多