【问题标题】:Find text (in a loop) using filter and append another div with thumbmail with jQuery使用过滤器查找文本(在循环中)并使用 jQuery 附加另一个带有 thumbmail 的 div
【发布时间】:2013-04-05 01:50:38
【问题描述】:

我正在尝试过滤结果循环以查找特定文本,如果存在,我想附加一个带有缩略图的 div。我有什么作品,但它附加了循环中的所有 div。我试过 .()closest 和 .parent()。所有这些都将所有 div 附加到循环中。我只想将最近的 div 附加到过滤后的文本中。

我做错了什么?

if( $("span").text().indexOf('90509BR') >= 0) {
        $('div.little-img').parent().find('div.little-img').append('<img style="float:left;" height="75px" width="75px" id="theImg" src="/images/uploads/EPDM_Yellow_Peroxide_p8sm.png" />');
    }

这是一个小提琴http://jsfiddle.net/C9Fft/4/

【问题讨论】:

    标签: jquery append parent closest


    【解决方案1】:

    .closest 在您的标记上下文中不起作用。

    您需要以不同的方式遍历树。

    http://jsfiddle.net/justiceerolin/zVe69/

        $('span:contains("90509BR")').parent().prev('div.little-img')
          .append('<img style="float:left;" height="75px" width="75px" id="theImg" src="/images/uploads/EPDM_Yellow_Peroxide_p8sm.png" />');
    

    :contains 进行文本搜索。 parent() 上升到 .small,prev 查看它之前的元素。

    【讨论】:

    • 完美!我不敢相信我没有给 :contains a go。谢谢!
    【解决方案2】:
    $('span:contains("90509BR")').closest('div.little-img').append('<img style="float:left;" height="75px" width="75px" id="theImg" src="/images/uploads/EPDM_Yellow_Peroxide_p8sm.png" />');
    

    【讨论】:

      猜你喜欢
      • 2015-03-18
      • 2022-10-05
      • 1970-01-01
      • 2021-07-11
      • 1970-01-01
      • 2016-07-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多