我编写了下面的代码,在每个“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);
});
}
});
});
答案 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);
});
});
});