javascript - Jquery Mobile动态生成列表

标签 javascript jquery jquery-mobile

我正在使用 JQuery Mobile 在可折叠页面中动态生成列表。

但是如果我在带有项目列表的可折叠页面之前设置一个页面,CSS 就会搞砸。

生成列表项的代码:

var li = domCreationService.createListItem({"data-corners":"false", "data-shadow":"false", 
    "data-iconshadow":"true", "data-wrapperels":"div", "data-icon":"arrow-r", "data-iconpos":"right", 
    "data-theme":"c", "class":"ui-btn ui-btn-icon-right ui-li-has-arrow ui-li ui-li-has-thumb ui-li-last ui-btn-up-c"});

  var outherDiv = domCreationService.createDiv({"class": "ui-btn-inner ui-li"});
  li.appendChild(outherDiv);
  var innerDiv = domCreationService.createDiv({"class": "ui-btn-text"});
  outherDiv.appendChild(innerDiv);
  var link = domCreationService.createLinkItem({href: "#dialog.html",id: "dialog", "class": "ui-link-inherit", "data-rel": "dialog"});
  innerDiv.appendChild(link);
  link.appendChild(domCreationService.createImg({src: ("images/" + key + ".jpg"), "class": "ui-li-thumb"}));
  var obj = domCreationService.createHTag(3, {"class": "ui-li-heading"});
  obj.innerHTML = name;
  link.appendChild(obj);
  obj = domCreationService.createPTag({"class": "ui-li-desc"});
  obj.innerHTML = beskrivning;
  outherDiv.appendChild(domCreationService.createSpan({"class": "ui-icon ui-icon-arrow-r ui-icon-shadow"}));
  link.appendChild(obj);

这是第一页时的样子:

<li data-corners="false" data-shadow="false" data-iconshadow="true" data-wrapperels="div" data-icon="arrow-r" data-iconpos="right" data-theme="c" class="ui-btn ui-btn-icon-right ui-li-has-arrow ui-li ui-li-has-thumb ui-li-last ui-btn-hover-c">
<div class="ui-btn-inner ui-li">
    <div class="ui-btn-text">
        <a href="#dialog.html" id="dialog" class="ui-link-inherit" data-rel="dialog">
            <img src="images/picture.jpg" class="ui-li-thumb">
            <h3 class="ui-li-heading">Test</h3>
            <p class="ui-li-desc">Lorem Ipsum</p>
        </a>
    </div>
    <span class="ui-icon ui-icon-arrow-r ui-icon-shadow">&nbsp;</span>
</div>
</li>

但是当它不是首页时我得到这个:

<li data-corners="false" data-shadow="false" data-iconshadow="true" data-wrapperels="div" data-icon="arrow-r" data-iconpos="right" data-theme="c" class="ui-btn ui-btn-icon-right ui-li-has-arrow ui-li ui-li-has-thumb ui-li-static ui-btn-up-c">
<div class="ui-btn-inner ui-li ui-corner-top ui-corner-bottom ui-li-static ui-btn-up-c">
    <div class="ui-btn-text">
        <a href="#dialog.html" id="dialog" class="ui-link-inherit" data-rel="dialog">
            <img src="images/picture.jpg" class="ui-li-thumb">
            <h3 class="ui-li-heading">Test</h3>
            <p class="ui-li-desc">Lorem Ipsum</p>
        </a>
    </div>
    <span class="ui-icon ui-icon-arrow-r ui-icon-shadow">&nbsp;</span>
</div>
</li>

请注意附加的第二个 div 类中的更改。

有人经历过类似的事情吗?

最佳答案

动态添加内容到 jQM listview 时需要执行:

$('#listID').listview('refresh');

在列表生成结束时。此方法将重新设置所有新列表元素的样式。

关于javascript - Jquery Mobile动态生成列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13987325/

相关文章:

javascript - 谷歌地图多个标记简单过滤

javascript - i18nProvider 为默认语言环境的消息返回了一个 Promise。 react 管理员

javascript - JSTree 使用 json 数据在标题后添加图像

javascript - Javascript Canvas 动画超出最大调用堆栈大小

javascript - 如何判断是否是 Knockout.js 禁用了元素而不是其他元素?

javascript - jquery-mobile css 不适用于使用 javascript 生成的 html

javascript - 有没有一个工具可以扫描我的所有文件并删除 "trailing commas"的 JavaScript?

c# - 为什么在 MVC 1 中工作的 ajax 在 MVC3 中不能工作?

php - ajax返回整个html代码的问题

jquery - 在Jquery Mobile中如何使多div到页面中心