2

我有以下链接:

<a href="/Packages/PackageActionDownloadAsync" data-ajax-type="Download" data-ajax-packageid="AGI-VS-GAME-M52-1.5.3.2.67" data-ajax-machineid="30" class="iconGear action tip" data-hasqtip="true" oldtitle="Download" title="" aria-describedby="qtip-1">Download</a>

和javascript代码:

       var obj = $(this),
            objData = obj.data(),
            packageId = objData.ajaxPackageid,
            operation = objData.ajaxType;

我试过这个:

alert(objData.ajaxPackageid);
alert(objData.ajaxPackageId);
alert(objData.AjaxPackageId);

他们都返回“未定义”。唯一有效的是:

alert(objData.ajaxType);

到底是怎么回事?我正在使用“jquery-1.7.1.js”

4

2 回答 2

4

我很惊讶他们中的任何一个都可以像这样访问它们。您需要通过 jQuery 中的字符串名称来访问它们。像这样:

var obj = $(this);
alert(obj.data("ajax-packageid"));
alert(obj.data("ajax-type"));
alert(obj.data("ajax-machineid"));

看一下jquery.data对象

演示:http: //jsfiddle.net/xFmn3/

于 2013-03-14T09:00:49.070 回答
2

您需要将要接收的数据的密钥传递给data()函数。

   var obj = $(this),
   packageId = obj.data("ajax-packageid"),
   operation = obj.data("ajax-type");

工作示例:http: //jsfiddle.net/sUSCe/

于 2013-03-14T09:00:24.400 回答