如何更改列表视图项的图标

时间:2014-01-25 13:58:09

标签: jquery css jquery-mobile jquery-mobile-listview

我有以下标记:

<ul id="menu" data-role="listview">
    <li><a href="/">Home</a></li>
    <li class="label"><a href="#">About</a></li>
    <li><a href="/">About Us</a></li>
    <li><a href="/">Contact Us</a></li>
    <li class="label"><a href="#">More</a></li>
    <li><a href="/">FAQs</a></li>
    <li><a href="/">Terms</a></li>
</ul>

如何将所有label元素的图标从>更改为+?我试过了:

$(".label").buttonMarkup({ icon: "plus" });

哪个worked in v1.3.0但生成unexpected results in v1.4.0

1 个答案:

答案 0 :(得分:1)

更新

我刚刚意识到您要更改label类的元素的图标。

首先需要删除以ui-icon-开头的旧类,然后添加ui-icon-plus

$(".label a").removeClass(function (i, uiClass) {
  return (uiClass.match(/\bui-icon-\S+/g) || []).join(' ');
}).addClass("ui-icon-plus");
  

<强> Demo


使用.buttonMarkup()不正确,它只能与 anchors 一起使用。无论如何,该函数已弃用,将在1.5上删除。

以下是对 listview 小部件进行更改的正确方法。

$(document).on("pagebeforecreate", function () {
  $("#menu").listview({
    icon: "plus"
  });
});
  

<强> Demo