当前位置:  开发笔记 > 编程语言 > 正文

JQuery:在你追加它的时候得到一个孩子

如何解决《JQuery:在你追加它的时候得到一个孩子》经验,为你挑选了1个好方法。

我在处理json请求时将p标签附加到div,并根据请求中的内容设置样式.

$(document).ready(function() {
    function populatePage() {
        var numberOfEntries = 0;
        var total = 0;
        var retrieveVal = "http://www.reddit.com/" + $("#addressBox").val() + ".json";
        $("#redditbox").children().remove();
        $.getJSON(retrieveVal, function (json) {
            $.each(json.data.children, function () {
                title = this.data.title;
                url = this.data.url;
                ups = this.data.ups;
                downs = this.data.downs;
                total += (ups - downs);
                numberOfEntries += 1;
                $("#redditbox").append("

" + ups + ":" + downs + " " + title + "

"); $("#redditbox :last-child").css('font-size', ups%20); //This is the line in question }); $("#titlebox h1").append(total/numberOfEntries); }); } populatePage() $(".button").click(function() { populatePage(); }); });

不幸的是,事情并没有按计划进行.所讨论的线上的样式适用于div的每个孩子,而不仅仅是当时恰好附加的那个孩子,因此它们都会以相同的大小结束,而不是根据他们的数量来确定大小.

如何将样式应用于p标签,因为它们附加在div上?

编辑:感谢Fortes和Veggerby都工作,但我最终选择了Fortes,因为我做到了.



1> Fortes..:

您可以使用JQuery appendTo而不是append.对于你的例子:

$("

" + ups + ":" + downs + " " + title + "

") .css('font-size', ups%20) .appendTo('#redditbox');

以下是appendTo的文档:http://docs.jquery.com/Manipulation/appendTo

推荐阅读
地之南_816
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有