【问题标题】:jQuery .append ( function(index, html){... } ) questionjQuery .append ( function(index, html){... } ) 问题
【发布时间】:2011-07-01 10:13:35
【问题描述】:

假设我们有这个身份不明的 DIV

  <div class="class-occurs-many-times-on-page">foo</div>

我们想在它之后放置另一个包含数十或数百个 SPAN 元素的未识别 DIV:

<div class="a-class-that-occurs-many-times-on-page">foo</div>
<div class="another-class-that-occurs-many-times-on-page">
        <span class="latin">lorem</span><span class="latin">ipse</span>
        <span class="swedish-chef">føø</span><span class="swedish-chef">bår</span>
        .
        .
        .
        <span>...</span>
</div>

并且我们已经添加了第一个未识别的 DIV,并希望以这种方式添加 SPAN-container DIV:

 values = [{word: "lorem", cls: "latin"}, {word: "ipse", cls: "latin"},
 {word:"føø",cls:"swedish-chef"}, {word:"bår",cls:"swedish-chef"}];

 $("#" +  someParentElement).append(
     $("<div></div>").addClass("a-class-that-occurs-many-times-on-page").text("foo").after(

            $("<div></div>").addClass("another-class-that-occurs-many-times-on-page").append(
                 function(index, html){                    
                     // how to wrap each value in the values array in a span
                     // and inject each of those spans into this DIV?

                 }
            )

      )


 );

这种方法是否可行,如果可以,如果目标是将数组中的每个值包装在一个SPAN 并将该跨度注入容器?

谢谢

【问题讨论】:

    标签: jquery html append populate


    【解决方案1】:
    values = [{word: "lorem", cls: "latin"}, {word: "ipse", cls: "latin"}, {word:"føø",cls:"swedish-chef"}, {word:"bår",cls:"swedish-chef"}],
    len    = values.length,
    $ctn   = $('<div/>', {
         class:   'another-class-that-occurs-many-times-on-page'
    }),
    buildarr = [];
    
    while(len--){
        buildarr.push('<span>');
        buildarr.push(values[len].word);
        buildarr.push(values[len].cls);
        buildarr.push('</span>');
    }
    
    $ctn.append(buildarr.join('')).appendTo(document.body);
    

    这只是一个建议,就像您可以完成那种任务一样。它假定我们必须填充数组的顺序是无关紧要的(通过以最快的方式循环,reversed while)。如果订单很重要,请使用standard for loop

    【讨论】:

    • 谢谢,安迪。该建议很有帮助,但在创建对 $ctn 的引用时,您正在回避问题/问题:我想知道是否可以仅使用链接方法来完成此操作。
    猜你喜欢
    • 2011-09-10
    • 1970-01-01
    • 1970-01-01
    • 2012-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-02
    • 1970-01-01
    相关资源
    最近更新 更多