仅选择附加的子项

时间:2013-11-05 08:18:11

标签: jquery addclass css-selectors

我想将该类仅应用于动态创建的div。

HTML:

<div id="pbody">
    <div>a</div>
    <div>b</div>
    <div>c</div>
    <div>d</div>
    <div>e</div>
</div>


<button class="add">Add</button>

jQuery的:

$(document).on('click','.add',function(){

   $('#pbody').append('<div>f</div><div>g</div><div>h</div><div>i</div><div>j</div><div>k</div><div>l</div>').addClass('active');

});

我知道这是错的,但有没有办法可以只选择我追加的div ,或者有没有办法(比方说)在jQuery中选择第5个孩子和第10个孩子? / p>

JSFiddle:http://jsfiddle.net/Q4PYC

4 个答案:

答案 0 :(得分:1)

我认为您要做的是将新的课程添加到新添加的项目中,然后您可以使用.appendTo()代替.append(),如下所示

$('<div>f</div><div>g</div><div>h</div><div>i</div><div>j</div><div>k</div><div>l</div>').appendTo('#pbody').addClass('active');

演示:Fiddle

答案 1 :(得分:0)

稍微更改链接方法的顺序:

   $('<div>f</div><div>g</div><div>h</div><div>i</div><div>j</div><div>k</div><div>l</div>')
   .addClass('active')
   .appendTo('#pbody');

http://jsfiddle.net/Q4PYC/2/

答案 2 :(得分:0)

你可以试试这个,

  <script type="text/javascript">

            $(document).on('click','.add',function(){
                    // added classname for all the append div elements
                 $('#pbody').append('<div class="appendHtml">f</div><div class="appendHtml">g</div><div class="appendHtml">h</div><div class="appendHtml">i</div><div class="appendHtml">j</div><div class="appendHtml">k</div><div class="appendHtml">l</div>').addClass('active');

                    $(".appendHtml").each(function( index, value ) {
                        console.log( index + ": " + value );                            
                    });
            });

        </script>

OR

        <script type="text/javascript">

            $(document).on('click','.add',function(){

               $('<div>f</div><div>g</div><div>h</div><div>i</div><div>j</div><div>k</div><div>l</div>').addClass('appendHtml').appendTo('#pbody');
                    $(".appendHtml").each(function( index, value ) {
                        console.log( index + ": " + value );                            
                    });
                 });

        </script>

答案 3 :(得分:0)

试试这样:

$(document).on('click','.add',function(){ 
   $('#pbody').append('<div>f</div><div>g</div><div>h</div><div>i</div><div>j</div><div>k</div><div>l</div>');
   $("#pbody div:gt(5)").addClass('active'); 
});

检查http://jsfiddle.net/alaminopu/Q4PYC/3/