2012-07-11 80 views
0

我正在學習jQuery,請耐心等待。我正在嘗試使用以下代碼填充HTML無序列表。我遇到的錯誤是: HTMLfile:沒有這樣的接口。代碼在以下jQuery庫語句中斷: fragment.appendchild(script)使用jQuery與json填充HTML無序列表

下面是代碼(一個成功的jQuery Ajax調用的片段)。

Json包含ID和名稱。

  success: function(data) { 
     var $defs = $('<ul id="mylist"></ul>').insertBefore('#lst'); 
      $.each(data.d, function (index, list) { 
      $(this).appendTo($defs).wrap("<li>" + list.Name + "</li>"); 
      }) 
     }, 

謝謝

回答

0

我不能肯定,因爲沒有足夠的腳本在這裏,但它可能是你的this聲明並未指向一個HTML元素。控制檯記錄你的this聲明,看看它是什麼。我不知道data.d是什麼,但是當你可能不期望它時,jQuery喜歡替換this語句。

也許顯示更多的您的代碼?

瞭解瞭解JavaScript中的this對於新語言的人來說已經足夠困難,所以我通常建議人們在學習jQuery之前學習JavaScript。否則,我認爲學習JavaScript需要更長的時間,並且會變得更加困難,更加錯誤的學習體驗。

+0

謝謝比約恩。我明白你的觀點。 – user1309226 2012-07-11 06:06:59

+0

嗨比約恩。你的假設是正確的。 'this'指向的是json對象而不是DOM元素。 – user1309226 2012-07-11 10:22:23

+0

太棒了,感謝您將它標記爲回答問題。 – 2012-07-12 00:30:13