Я бы не стал менять классы.Переопределение проще.
Поместите свой список в оболочку, например, так:
<div class="listWrap">
<ul data-role="listview" data-filter="true">
// list items
</ul>
</div>
Это приведет к следующей расширенной разметке
<div class="listWrap">
<form class="ui-listview-filter ui-bar-c ui-listview-filter-inset" role="search">
// your filter
<div class="ui-input-search ui-shadow-inset ui-btn-corner-all ui-btn-shadow ui-icon-searchfield ui-body-c">
// input
<input placeholder="" data-type="search" class="ui-input-text ui-body-c">
// close button
<a title="clear text" class="ui-input-clear ui-btn ui-btn-up-c ui-btn-icon-notext ui-btn-corner-all ui-shadow ui-input-clear-hidden" href="#" data-theme="c">
<span class="ui-btn-inner ui-btn-corner-all">
<span class="ui-btn-text">clear text</span>
<span class="ui-icon ui-icon-delete ui-icon-shadow"></span>
</span>
</a>
</div>
</form>
<ul data-role="listview" data-filter="true">
// list items
</ul>
</div>
Теперь вы можете использовать CSSчтобы переопределить классы следующим образом:
.listWrap _your_search_filter_class { /* do something */ }
Вы также можете полностью переместить фильтр просмотра списка.Для этого в JQM ищет эту строку:
.appendTo( wrapper )
и заменяет ее следующим:
.appendTo( $('.ui-page-active .ui-filter-destination').length > 0 ? $('.ui-filter-destination') : wrapper )
Затем задайте класс .ui-filter-destination в контейнер элемента, который должен включать ваш фильтр, и он будет удален из верхней части фильтра в нужный элемент обертки.