jQuery - 尝试动态添加由DOM创建的新元素

时间:2016-09-14 21:48:22

标签: javascript jquery ajax

希望我能说得对,我仍然对我的术语感到困惑。我试图动态添加我使用AJAX请求获取的新元素,然后将其放入名为<div class="hidden-tags"></div>的div中。

每当点击一个按钮时,它就会触发此功能

$(".tags").on("click", '.tag i', function() {
    var lastTag = $(".tags > span").last().text();
    $(".tags").append($(".tagname-"+lastTag).parent().next());
});

所以它应该将.tagname-VARIABLE父级的下一个父级追加到.tags元素,但没有任何反应,也没有添加任何元素,控制台中也没有错误

当我做一些测试时,我发现$(".tags").append($(".tagname-"+lastTag).parent().next());之前的所有内容都工作正常,某些原因.parent()。next()没有用;还不确定为什么

示例:
在其中一个测试中,我将lastTag变量定义为portal,因此函数为$(".tags").append($(".tagname-portal").parent().next());

因此它应该将<span class="tag">guide<i class="fa fa-times tagname-guide"></i></span>附加到.tags元素,但不会这样做并且在控制台中没有错误

以下是标签布局,如果这有帮助(只是示例)

<div class="tags">
    <span class="tag">games<i class="fa fa-times"></i></span>
    <span class="tag">guides<i class="fa fa-times"></i></span>
</div>

<div class="hidden-tags">
    <span class="tag">games<i class="fa fa-times tagname-games"></i></span>
    <span class="tag">guides<i class="fa fa-times tagname-guides"></i></span>
    <span class="tag">video<i class="fa fa-times tagname-video"></i></span>
</div>

修改

澄清一下,我想做什么:
我已经使用AJAX在JSON中获取响应,并使用$.each($.parseJSON(response), function(k, v) {来分割键和值,然后我使用了一个函数,该函数在一定的总字符数后关闭数组,然后我希望能够在此之后找到下一个键/值&#39;切断点&#39;用jquery / js,然后是下一个键/值等等

if (tagchars < 415) {
    $(".tags").append("<span class='tag'>"+k+"<i class='fa fa-times'></i></span>");
    $("table").append("<tr><td>"+k+"</td><td>"+(v*2)+"%</td></tr>");
}

json看起来像{"tagname":"value", "tagname":"value"},

0 个答案:

没有答案