使用jQuery,你可以添加这样的HTML元素吗?

时间:2016-03-02 04:48:50

标签: javascript jquery html

我正在做这个教程,这个人说,“我要创建一个div ......”

$("document").ready(function() {
  // fetch the AJAX content
  $("#newsContent").load("news.txt");
  //$.getJSON("news.json", successFn);
});

function successFn(result) {
  $.each(result.newsStories, function(i, item) {
    // Didn't quite understand what this line did.
    var newsDiv = $("<div class='news'>");
    newsDiv.append(item.title);
    newsDiv.append(item.content);
    // Now understand that this puts the above div in play.
    $("#newsContent").append(newsDiv);
  });
}

我真的只是担心这句话:

var newsDiv = $('<div class="news">');

我在jsfiddle上试过这个,但它似乎没有用。如果这有帮助,就会在构建AJAX请求期间发生这种情况。

我的问题是,newsDiv什么时候成为DOM的一部分?

2 个答案:

答案 0 :(得分:2)

$('<div class="news">');将返回$ wrapped对象对应一个html元素(在本例中为div元素)给你。但是没有在你的HTML上创建任何元素。您可以简单地将这个新创建的元素添加到您的html中,

$('#myNewsContainer').append(newsDiv); // append to the div with id 'myNewsContainer'
$('#myNewsContainer').html(newsDiv); // replace all html with new div

答案 1 :(得分:1)

该行

var newsDiv = $('<div class="news">');

创建值newsDiv的变量<div class="news">。此时它不会附加到html。您可以使用Jquery append()方法将其附加到HTML。