附加到动态创建的元素问题/ JQuery

时间:2015-12-09 14:34:17

标签: jquery html

似乎当我使用JQuery(dynamicaly)创建元素时,它不允许我使用jquery再次追加。我假设它是由于append()方法的固有特性。

下面是我试图附加到动态创建的DOM的js代码:

function displayComments(posts, status){

  $.each(posts, function (index, post) {
   var comments = post.comments;
    var textComment = "";
    for(var i = 0; i < comments.length; i++){            
    var textComment = comments[i]["author"] + " " + comments[i]["content"] + " " + comments[i]["date"]; 
        }
            var divAdd = ("#commentSection" +post.postId);
           $(divAdd).append(textComment);

});

}

我确信divAdd有效,因为我检查了我的网页并且匹配,我确信textcomment有效,因为我提醒了它。离开.append

下面是我动态创建元素的代码:

function displayPosts(posts, status) {

$.each(posts, function (index, post) {
    var tags = post.tags;
    var textTags = "";
    ///////////////////// TAGS ////////////////////////////////
    for(var i = 0; i < tags.length; i++){
           textTags = textTags + " #"+ tags[i]["name"];
    }

    ///////////////////// GENERAL ////////////////////////////////    
    $('#parentPostBox').append($('<div class="postBox" id="' + post.postId + '">' 
          + post.content //POST CONTENT
          + '<p class="tags"> '+ textTags //TAGS
          + '</p><div id="#commentSection' + post.postId //COMMENTS
          + '" class="commentStyle"></div><form><input type="text" value="" id="putComment'
          + post.postId +'"></form><button class="commentButton1" id="comment' 
          + post.postId + '" type="button">Add Comment</button>'));//COMMENT BUTTON

});

}

My DOM & webpage

感谢任何帮助,谢谢。

1 个答案:

答案 0 :(得分:0)

在创建“动态”元素时,您当前没有正确格式化ID:

在标记中作为属性写入时,ID不需要<a id="HlLink" target="_blank"><img src="/Images/edit_icon.gif" alt="" /></a> #标签。通过#主题标签选择ID是一种CSS约定(jQuery也采用)。

改变违规行:

#