jQuery.HTML не подчиняется форматированию в тексте

#javascript #jquery

#javascript #jquery

Вопрос:

Почему доза следующего не подчиняется форматированию, буквы «li» не имеют никакого эффекта

 <script>
function showENQ() {
jQuery('#enqtext').html("<li>showtext</li>");
}
$('#enq').live('pageshow', function () { showENQ();  });
</script>


<ul data-role="listview" data-filter="true" data-filter-placeholder="Search     Enquirylist..."
data-theme="e" data-filter-theme="d" >

<div id="enqtext"></div>

</ul>
  

Ответ №1:

попробуйте innerHTML вместо этого:

 jQuery('#enqtext').html("<li>showtext</li>");
  

или

  jQuery('#enqtext').append("<li>showtext</li>");
  

Комментарии:

1. Что именно вы подразумеваете под подчинением? Помещается ли он showtext без li тегов?

2. Если он собирает <li>showtext</li> все вместе без надлежащего отступа, то, скорее всего, у вас есть несколько стилей, установленных для li ?

3. Я имею в виду, что он просто игнорирует <li>, если их там не было. То, что я делаю, — это создание списка и его форматирование в соответствии с макетами jQuery nice.

Ответ №2:

Я не уверен на 100%, но моя первая идея заключается в том, что вы помещаете <li> ‘s в div, а не непосредственно в сам список.

Может сработать, если вы добавите к ul нему идентификатор, например

  <ul id="list" ... >
  

а затем выполните

 function showENQ() {
    jQuery('#list').append("<li>showtext</li>");
}
  

Также, возможно, стоит перейти enqtext на span вместо div и, наконец, убедитесь, что вы не меняете стиль элементов списка, т. Е. Убедитесь, что вы ничего не делаете list-style:none; в своем css.

Ответ №3:

Попробуйте изменить:

 jQuery('#enqtext').html("<li>showtext</li>");
  

Для:

 $('#enqtext').append("<li>showtext</li>");
  

Редактировать: если подумать, я бы полностью удалил Div идентификатора #engtext и присвоил идентификатор #engtext вашему ul.

Комментарии:

1. Я даю идентификатор в UL, тогда фильтр работает, но не <li> s