【问题标题】:Get - Append and find divs with class name获取 - 附加并查找具有类名的 div
【发布时间】:2015-06-24 04:22:56
【问题描述】:

我得到了代码:

      $.get( nextLink  , function( html ) {     
        $( "#item-cont" ).append($(html).find('#item-cont').html());  
      });

我只想从 item-con 中获取类名 .post 的 div(所有 div 都来自这个类名),现在它在 item-cont 中获取所有 div(我在那里得到了 deffrents div)。

我该怎么做?我想使用每个例如:

$( "#item-cont" ).append($(html).each('#item-cont .post').html());  

但它似乎不起作用。

【问题讨论】:

  • each 不是必需的(或可取的),如果您可以在单个操作中完成它。下面添加的答案涵盖了您的两个可能的要求。

标签: javascript jquery get append each


【解决方案1】:

假设我已经理解您要做什么,在这种情况下您不需要使用each(),只需修改选择器即可。您也可以直接附加节点,因此您可以删除对html() 的调用。试试这个:

$.get(nextLink, function(html) {     
    $('#item-cont').append($(html).find('#item-cont div.post'));  
});

【讨论】:

  • 这样我只有一个类名为 .post 的 div 来自 #item-cont 。我想获取所有具有此类名称(10)的 div,witchout 3(在#item-cont 上清除该类)。
  • 您的意思是在末尾添加额外的.html() 吗?不追加节点?
  • 它是附加节点,但只有一个来自 #item-cont 的节点,我认为是第一个节点。它不添加另外 9 个节点。
  • 这个答案的正确性取决于他们是否只想要 .post div 的子节点(Shaunak D 的答案),或者 .post div 本身也包括在内(你的答案)。
【解决方案2】:

如果你有很多divs要附加,使用

$.get(nextLink, function(html) {   
    $(html).find('#item-cont div.post').each(function(){  
        $('#item-cont').append($(this).html());  
    });
});

【讨论】:

  • 谢谢你的工作!:) 我只需要向所有 div 添加一个类(我的意思是 div 上的 div agrr 我自己做 ;)
  • each 不是必需的(或者在 jQuery 中不需要),如果您可以在单个操作中完成它。添加了替代答案。
  • @TrueBlueAussie,我首先添加了您答案的第二部分。但后来由于某种原因,我开始投反对票。所以,是的。在这种情况下,您的答案是正确的。
【解决方案3】:

如果您只想附加 .post div 的内容,那么您可以在单个操作中完成此操作(使用 .post div 下的直接子选择器)。如果可以避免,则 each 在 jQuery 中是不可取的:

$.get(nextLink, function(html) {     
    $('#item-cont').append($('#item-cont div.post >', html));  
});

如果您还希望添加 .post div 本身,

$.get(nextLink, function(html) {     
    $('#item-cont').append($('#item-cont div.post', html));  
});

【讨论】:

  • 是的,这也有效。谢谢,但我不知道为什么这个选项有效,我的意思是我不明白。它比我认为的每一个都好。两个很好的答案谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-04-05
  • 2018-04-08
  • 1970-01-01
  • 1970-01-01
  • 2016-03-31
  • 2011-08-04
  • 1970-01-01
相关资源
最近更新 更多