我有一个可折叠的设置,用于一周中的几天,用户在其中的活动表示为可折叠集内的列表视图。
<div data-role="collapsible-set" id="calCol" data-collapsed-icon="arrow-d" data-collapsed="true" data-iconpos="right">
<div data-role="collapsible">
<h1 id="day1Header">Sunday<img src="#" /></h1>
<ul id="day1" data-role="listview">
</ul>
</div>
<div data-role="collapsible">
<h1>Monday</h1>
<ul id="day2" data-role="listview">
</ul>
</div>
...
我从我的数据库中获取用户活动的所有内容,因此我动态插入所有内容,如下所示:
var userActivitiesObj = JSON.parse(data.d);
for (var i = 0; i < userActivitiesObj.length; i++) {
for (var j = 0; j < userActivitiesObj[i].time.length; j++) {
var listItem = "<li style='background-color: " + userActivitiesObj[i].hobColor + ";'>";
listItem += userActivitiesObj[i].actName + " - " + userActivitiesObj[i].actAddress + " - ";
listItem += userActivitiesObj[i].time[j].startTime + "-" + userActivitiesObj[i].time[j].endTime;
listItem += " (" + userActivitiesObj[i].time[j].audiance + ")</li>";
$("#day" + userActivitiesObj[i].time[j].day).append(listItem);
$("#day" + userActivitiesObj[i].time[j].day).listview("refresh");
}
}
我要做的最后一件事就是将每个活动的图像添加到当天的标题中。 当我试图用html做它时,它完美无缺:
<h1 id="day1Header">Sunday<img src="#" /></h1>
但是在尝试动态执行时,它无法正常工作。 这就是我试图做的事情:
$("#day1Header").html($("#day1Header").html()+"<img src='#'");
和
$("#day1Header").append("<img src='#'");
我知道我在这里缺少类似.list(“刷新”)的功能,但我不知道那是什么。
答案 0 :(得分:0)
jQuery Mobile在标题中添加了一个带有类ui-collapsible-heading-toggle
的锚标记,并将可折叠标题放在那里。因此,您可以删除以前的图像并附加如下所示的新图像:
$("#day1Header .ui-collapsible-heading-toggle img").remove();
$("#day1Header .ui-collapsible-heading-toggle").append('<img src="https://placeimg.com/44/22/tech" />');