如何使用jqueryeach方法将html元素预先添加到html集合的每个元素中?

如何使用jqueryeach方法将html元素预先添加到html集合的每个元素中?,jquery,font-awesome,Jquery,Font Awesome,我有一些li元素,我想在每个元素中添加一个字体图标。(我可以直接在HTML代码中完成,但我想学习更动态地完成)。我试过这个: HTML: 我怎样才能完成我想做的事情 谢谢 我会首先检查是否包含字体可怕的图标,然后使用 $(“.willHaveArrows li”).each(function(){ if(!$(this.find(“.fa”).length){ $(this.html(“+$(this.html()) } }) 在一行中: $(".willHaveArrows li").eac

我有一些
li
元素,我想在每个元素中添加一个字体图标。(我可以直接在HTML代码中完成,但我想学习更动态地完成)。我试过这个:

HTML:

我怎样才能完成我想做的事情


谢谢

我会首先检查
  • 是否包含字体可怕的图标,然后使用

    $(“.willHaveArrows li”).each(function(){
    if(!$(this.find(“.fa”).length){
    $(this.html(“+$(this.html())
    }
    })
    
    在一行中:

    $(".willHaveArrows li").each(function(){$(this).find(".fa").length||$(this).html("<span class='fa fa-arrow-right'></span>"+$(this).html())});
    
    $(“.willHaveArrows li”).each(function(){$(this.find(“.fa”).length |$(this.html(“+$(this.html())))});
    
    您的代码不起作用,因为
    .each()
    e
    )的第二个参数不是jQuery元素,而是标准HTML元素。非jQuery不将HTML字符串作为元素读取

    如果您想使用jQuery路径(请先参见下文!),则不需要使用
    .each()
    ,因为jQuery的
    .prepend()
    默认作用于集合中的所有项

    $(".willHaveArrows > li").prepend("<span class='fa fa-arrow-right'></span>");
    
    $(“.willHaveArrows>li”).prepend(“”);
    
    $(“.willHaveArrows>li”).prepend(“”)
    
    
    
    • 文本1
    • 文本2
    • 文本3
    • 文本4
    • 文本5
    <span class='fa fa-arrow-right'></span> text1
    <span class='fa fa-arrow-right'></span> text2
    <span class='fa fa-arrow-right'></span> text3
    <span class='fa fa-arrow-right'></span> text4
    <span class='fa fa-arrow-right'></span> text5
    
    $(".willHaveArrows li").each(function() {
        if (!$(this).find(".fa").length) {
            $(this).html("<span class='fa fa-arrow-right'></span>" + $(this).html())
        }
    })
    
    $(".willHaveArrows li").each(function(){$(this).find(".fa").length||$(this).html("<span class='fa fa-arrow-right'></span>"+$(this).html())});
    
    $(".willHaveArrows > li").prepend("<span class='fa fa-arrow-right'></span>");