使用Jquery </map>在每个<img/>标记后添加<map>

时间:2011-03-15 20:22:31

标签: c# jquery asp.net web-services

我编写了下面的代码,在每个“image”标签后添加“map”,其中“img”定义了一个usemap 但它似乎有效。我检查“结果”不为空这里ASP.net ABCService是一个Web服务。

$(document.body).ready(function () {
$("img").each(function (i) {
    if ($(this).attr("usemap") != "") {
        var name = $(this).attr("usemap");
        name = name.substring(1, name.length);
        var map;
        ABCService.GetMap(name, function (result, eventArgs) {
           alert(result);
           $(this).after(result);
        });

    }
});

});

1 个答案:

答案 0 :(得分:0)

$(this)并不代表您认为在ABCService.GetMap()函数中的含义。

试试这个:

$(document.body).ready(function () {

    $("img").each(function (i) {
        $img = $(this)
        if ($img.attr("usemap")) {
            var name = $(this).attr("usemap").substring(1);
            ABCService.GetMap(name, function (result, eventArgs) {
               alert(result);
               $img.after(result);
            });

        }
    });
});

编辑:如果您只希望<map><img>标记后显示属性usemap,请执行此操作...

$(document.body).ready(function () {
    $("img[usemap]").each(function (i) {
        $img = $(this)
        var name = $(this).attr("usemap").substring(1);
        ABCService.GetMap(name, function (result, eventArgs) {
           alert(result);
           $img.after(result);
        });
    });
});