jQuery append () не играет хорошо в загрузчике XML - PullRequest
0 голосов
/ 17 ноября 2011

Я не могу получить <div class="inner"> для правильного добавления, поэтому оно оборачивается:

Это должно быть:

  <div class="module">
   <div class="<h2>...</h2>
    <div class="inner">
        ...
        ...
        ...
    </div><!-- end .inner-->
   </div><!-- end .module-->

Вместо этого, когда я проверяю в инструментах разработчика Chrome, он имеетзакрывающий тег рядом с ним:

<div class="inner"></div>

Вот сценарий:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  <title>NDM Test</title>
            <script type="text/javascript" src="jquery.js"></script>
  <link rel="stylesheet" type="text/css" href="style.css" media="screen" />
             <script>
$(document).ready(function () {
     $.get('feed.xml', function (feed) {
         $('.module').append('<h2><span>Dynamic heading</span></h2>');
         $('.module').append('<div class="inner">');

         $(feed).find('section').each(function () {
             var title = $(this).find('title').text();
             var html = '<div><h3>' + title + '</h3>';
             html += '<ol>'

             $(this).find('article').each(function () {
                 var headline = $(this).find('headline').text();
                 var url = $(this).find('url').text();
                 html += '<li><a href="' + url + '">' + headline + '</a></li>';
             });

             $('.module').append($(html));
             $('.module').append('</ol></div>');
         });

         $('.module').append('</div>'); /* this should close .inner??*/
         $('.module').append('<p><a href="#">More </a></p>');
     });
 });
 </script>
 </head>
 <body>
  <div class="wrapper">
   <div class="module">
   </div>
  </div>
 </body>
</html>

Заранее спасибо:)

1 Ответ

1 голос
/ 17 ноября 2011

попробуйте этот код,

var html ='<div class="inner">';
$(feed).find('section').each(function () {
    var title = $(this).find('title').text();
    html += '<div><h3>' + title + '</h3>';
    html += '<ol>';

    $(this).find('article').each(function () {
        var headline = $(this).find('headline').text();
        var url = $(this).find('url').text();
        html += '<li><a href="' + url + '">' + headline + '</a></li>';
    });
    html += '</ol></div>';


});
html +='</div>';
$('.module').append($(html));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...