首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery .append (函数(索引,html){.})问题

jQuery .append (函数(索引,html){.})问题
EN

Stack Overflow用户
提问于 2010-08-06 12:34:37
回答 1查看 1.6K关注 0票数 0

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

代码语言:javascript
复制
  <div class="class-occurs-many-times-on-page">foo</div>

我们想在它后面放置另一个不明的DIV,它包含几十个或数百个跨元素:

代码语言:javascript
复制
<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,并希望以这样的方式添加跨区容器DIV:

代码语言:javascript
复制
 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?

                 }
            )

      )


 );

这种方法可行吗?如果是这样,那么.append()方法调用中的函数在值数组的每一次迭代中都需要做什么,如果目标是将数组中的每个值封装在一个SPAN中并将其注入容器中?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2010-08-06 12:46:05

代码语言:javascript
复制
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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3423762

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档