Как изменить значок элемента списка

У меня есть следующая разметка:

<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" });

Который работал в v1.3.0, но дает неожиданные результаты в v1.4.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");

демонстрация


С помощью .buttonMarkup() не правильно, он предназначен для использования только с якорями. В любом случае, эта функция устарела и будет удалена на 1.5.

Ниже приведен правильный способ внесения изменений в виджет списка.

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

демонстрация

Другие вопросы по тегам