繁体   English   中英

jQuery:在元素的HTML之前追加项目

[英]JQuery: append item before element's HTML

我需要在元素的现有HTML之前附加一些HTML。 我努力了:

$("p").each(function(index){
  $(this).prepend('HELLO! ');
});

但这会将其放在<p>之前。

我也尝试过:

$(this).html().prepend('HELLO! ');

我需要得到的结果如下所示:

<p>HELLO! This is existing text</p>

有人知道这样做的最好方法吗?

您可以使用.html( function )更新所有<p>元素的innerHTML

$('p').html(function(i, old) {
    return 'HELLO! ' + old;
});

 $('p').html(function(i, old) { return 'HELLO! ' + old; }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <p>World!</p> <p>TJ</p> 

如果所有<p>元素仅包含普通文本而不是HTML,则也可以使用.text( function )代替.html()

 $("p").each(function(index){ $(this).before('HELLO! '); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <p>paragraph</p> <p>paragraph</p> 

使用.before()

说明:将参数指定的内容插入到匹配元素集中的每个元素之前。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM