Javascript 使用jQuery设置HTML5属性值时出现问题

Javascript 使用jQuery设置HTML5属性值时出现问题,javascript,jquery,html,cordova,Javascript,Jquery,Html,Cordova,我目前正在使用jQuery mobile和Phonegap制作已下载和未下载文件的列表 一切似乎都正常,但我无法将值设置为我的属性数据状态 我在JSON中循环查看文件名列表,以检查它们是否存在,这很有效。以下是每个文件的情况: var $li; $li = $("<li><a href='#' data-status='Not downloaded'>"+val.title+"</a></li>"); 对于每个文件,$li将附加到ListView

我目前正在使用jQuery mobile和Phonegap制作已下载和未下载文件的列表

一切似乎都正常,但我无法将值设置为我的属性
数据状态

我在JSON中循环查看文件名列表,以检查它们是否存在,这很有效。以下是每个文件的情况:

var $li;
$li = $("<li><a href='#' data-status='Not downloaded'>"+val.title+"</a></li>");
对于每个文件,$li将附加到ListView。然后在整个循环过程之后:

$("#linkList")
            .listview({
            autodividers: true,
            autodividersSelector: function (li) {
                        var out = li.find('a').data("status");
                        return out;
                        }
                    }).listview('refresh');

那么,您是否知道为什么属性
数据状态
没有更改为“已下载”?

您应该使用以下选项:

$li.find(“a”).data(“状态”,“下载”)

如果必须使用
setAttribute
,请使用
attr()


$li.find(“a”).attr(“数据状态”,“已下载”)

您应该使用以下选项:

$li.find(“a”).data(“状态”,“下载”)

如果必须使用
setAttribute
,请使用
attr()

$li.find(“a”).attr(“数据状态”,“已下载”)

返回一个称为“包装集”的jQuery对象,它是一个类似数组的结构,包含所有选定的DOM元素

$li.find("a")[0].setAttribute

返回一个称为“包装集”的jQuery对象,它是一个类似数组的结构,包含所有选定的DOM元素

$li.find("a")[0].setAttribute

我先试了一下,但不知怎的,它们最终都被归类为“未下载”。所以看起来它们没有改变。这是在jQuery中使用数据属性的正确方法。你应该试试这个。添加了另一个例子,使用
attr
作为替代。是的,这很有效。看来我的问题出在别处了。我有一个
window.resolveLocalFileSystemURL(fileSource+val.title+“.pdf”,成功,失败)
检查文件,似乎有延迟,所以在设置属性之前附加了$li。我先尝试了这个方法,但不知怎的,它们最终都被排序为“未下载”。所以看起来它们没有改变。这是在jQuery中使用数据属性的正确方法。你应该试试这个。添加了另一个例子,使用
attr
作为替代。是的,这很有效。看来我的问题出在别处了。我有一个
window.resolveLocalFileSystemURL(fileSource+val.title+“.pdf”,成功,失败)
来检查文件,似乎是延迟,所以在设置属性之前附加了$li。
$li.find("a")[0].setAttribute