Когда виджет listview
инициализируется, ему присваивается класс ui-listview
, поэтому мы можем проверить этот класс, чтобы убедиться, что он был инициализирован:
//select the listview
var $myUL = $('#my-ul-element');
//add a list-item to the listview
$myUL.append('<li>I\'m New!</li>');
//check if the listview has the ui-listview class
if ($myUL.hasClass('ui-listview')) {
//this listview has already been initialized, so refresh it
$myUL.listview('refresh');
} else {
//this listview has not yet been initialized, so it gets initialized
$myUL.listview();//or you can use .trigger('create');
}
Это должно помочь устранить ошибкувы получаете.
Кроме того, функция .hasClass('[class]')
возвращает true
/ false
, если элемент имеет [class]
: http://api.jquery.com/hasClass