JQuery - 如何在新生成的元素周围放置新元素

时间:2011-12-24 18:15:48

标签: jquery

我的脚本会生成一个新的输入字段,我想在其周围放置一个'span'元素。但我无法弄明白,怎么做。

 .append($('<a>').html('+') 
            .attr('href', '#')
            .click(function(){
                ($(this)
                    .after($('<a>').text('X')
                        .attr('href', '#')
                        .click(function(){
                            $(this).parent().remove();
                            return false;   })
                    ) 
                    .after($('<input>') // NEED A SPAN AROUND THIS ELEMENT
                        .attr('type', 'text')
                        .attr("name","avz_anzahl["+avz_array+"][]")
                        .attr("size","3")
                        .attr("style","margin-left:10px; margin-top:5px;")
                        .attr("id","anzahl_feld")
                        .attr("onblur","anzahl_vali();")
                        .attr("value", "")
                    ) 

                    .after('<br/>')).append ;
                return false;   })
    )

4 个答案:

答案 0 :(得分:4)

你可以试试JQuery wrap。

http://api.jquery.com/wrap/

<div class="container">
  <div class="inner">Hello</div>
  <div class="inner">Goodbye</div>
</div>

    $('.inner').wrap('<div class="new" />');

答案 1 :(得分:1)

您可以使用jQuery的.wrap方法使用<span>元素包装元素:

[yourcodehere].wrap('<span>');

答案 2 :(得分:1)

尝试更改

部分
.after($('<span>').html($('<input>')
                        .attr('type', 'text')
                        .attr("name","avz_anzahl["+avz_array+"][]")
                        .attr("size","3")
                        .attr("style","margin-left:10px; margin-top:5px;")
                        .attr("id","anzahl_feld")
                        .attr("onblur","anzahl_vali();")
                        .attr("value", "")
                    ) 
    )

答案 3 :(得分:1)

您可以使用换行功能 - http://api.jquery.com/wrap/