代码之家  ›  专栏  ›  技术社区  ›  Catfish

jquery.每个函数

  •  2
  • Catfish  · 技术社区  · 15 年前

    如果我有5个带有class.inputbox的输入框,jquery函数会在每个.inputbox行后添加5次这些标记。为什么会这样?

    我只想在每个.inputbox后面插入这些标签。

    有人知道怎么做吗?

    function addImages() {          
    
         $(".inputBox").each(function() {
    
              $('.inputBox').after("<img src=\"Images/thumbs_up_48.png\" class=\"thumbV\" id=\"up\" />");
              $('.inputBox').after("<img src=\"Images/thumbs_down_48.png\" class=\"thumbV\" id=\"down\" />");
        });
    }
    

    HTML

    <label for="FirstName">First Name</label>
    <input type="text" class="inputBox" name="FirstName" title="First Name Here" id="firstName" />
    
    3 回复  |  直到 15 年前
        1
  •  1
  •   user113716    15 年前

    用途:

    $(this).after("<img src=\"Images/thumbs_up_48.png\" class=\"thumbV\" id=\"up\" />");
    $(this).after("<img src=\"Images/thumbs_down_48.png\" class=\"thumbV\" id=\"down\" />");
    

    每次调用时,$('.inputbox')都将遍历整个DOM。

    更好的办法是

    $(".inputBox")
            .after("<img src=\"Images/thumbs_up_48.png\" class=\"thumbV\" id=\"up\" />")
            .after("<img src=\"Images/thumbs_down_48.png\" class=\"thumbV\" id=\"down\" />");
    

    别忘了“接受”一个对你有用的答案。

        2
  •  0
  •   Vinodh Ramasubramanian    15 年前

    你只需把每一个都丢了就可以使用

     $('.inputBox').after("<img src=\"Images/thumbs_up_48.png\" class=\"thumbV\" id=\"up\" />");
     $('.inputBox').after("<img src=\"Images/thumbs_down_48.png\" class=\"thumbV\" id=\"down\" />");
    
        3
  •  0
  •   psychotik    15 年前

    你可能不需要 each ,是吗?基于您的代码和Patrick提出的修复,我认为您可以使用您的原始代码而不需要 each() 打电话。