1

これは私の現在のコードです:

var container, url;

$(".nav-list li a").on("click", function(e) {

   e.preventDefault();

   var $url = this.href + " #content";
   var container = $("#content");

   $(".nav li").removeClass("active");
   $(this).parent().addClass("active");

   $(this).addClass("clicked");

   var $row = $(".span10");
   var $rowNew = $('.new');

   if ($rowNew.children().length > 1) {
        $(".span10 div").removeClass("new");
        $('<div class="row-fluid new"></div>').prependTo($row);
   }

   if ($(".new").length == 0) {
        $('<div class="row-fluid new"></div>').prependTo($row);
        $('<div class="span6">' + container.load(url) + '</div>').appendTo('.new');
   } else {
        $('<div class="span6">' + container.load(url) + '</div>').appendTo('.new');
   }

});

<div class="span6">HERE内にコンテンツをロードしようとしています</div>が、.load を設定してコンテンツをロードする方法について混乱しています。

現在のhtml出力:

<div class="row-fluid new">
   <div class="span6">
       container.load(url)
   </div>
</div>
4

1 に答える 1

2

load私はあなたがこのように使うべきではないと思います。これは、結果を事前に知っている既存の要素に配置することだけを目的としています。get成功コールバックでのより良い使用:

    e.preventDefault();

    var url = $(this).attr('href') + ".content";

    [...]

    $.get(url, '', function(result) {
      if ($(".new").length == 0) {
        $('<div class="row-fluid new"></div>').prependTo($row);
        $('<div class="span6">' + result+ '</div>').appendTo('.new');
      } else {
        $('<div class="span6">' + result + '</div>').appendTo('.new');
      }
    });

var container = $("#content");プロセスでを使用してそのIDを削除する必要はありません 。

于 2013-02-07T21:39:55.840 に答える