我目前正在使用 jQuery mobile 和 Phonegap 制作已下载和未下载文件的项目列表。
一切似乎都正常,但我根本无法为我的属性data-status
设置值。
我正在循环遍历 JSON 中的文件名列表来检查它们是否存在,这效果很好。这是每个文件发生的情况:
var $li;
$li = $("<li><a href='#' data-status='Not downloaded'>"+val.title+"</a></li>");
然后,如果在系统上找到该文件:
$li.find("a").on("click", function(){ openPdf(val.title); }); // a click handler added
$li.find("a").setAttribute('data-status', 'Downloaded'); // This is where something is wrong.
对于每个文件,$li 都会附加到 ListView 中。然后在整个循环过程之后:
$("#linkList")
.listview({
autodividers: true,
autodividersSelector: function (li) {
var out = li.find('a').data("status");
return out;
}
}).listview('refresh');
那么,您知道为什么属性 data-status
没有更改为“已下载”吗?
最佳答案
您应该使用以下内容:
$li.find("a").data('状态', '已下载');
如果您必须使用setAttribute
,则使用attr()
:
$li.find("a").attr('数据状态', '已下载');
关于javascript - 使用 jQuery 设置 HTML5 属性值时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29452837/