jQuery-在文本后添加元素

jQuery-在文本后添加元素,jquery,append,Jquery,Append,我有一个带有一些链接的导航: <ul class="nav"> <li> <a class="active">linkname</a> <li> </ul> 链接名 现在我需要在“linkname”之后直接添加额外内容,如下所示: <ul class="nav"> <li> <a class="active">linkname<b class="caret"

我有一个带有一些链接的导航:

<ul class="nav">
 <li>
  <a class="active">linkname</a>
 <li>
</ul>
  • 链接名
现在我需要在“linkname”之后直接添加额外内容,如下所示:

<ul class="nav">
 <li>
  <a class="active">linkname<b class="caret"></b></a>
 <li>
</ul>
var b = '<b class="caret"></b>';
var a = $('a.active');
b.appendTo(a);
$('a.active').append($('b.caret'));
  • 链接名
如何在特定文本后直接添加元素(div、span、b)?

试试看

$('ul.nav a.active')。附加('');
试试:

append()
将内容插入到匹配元素集中每个元素的末尾

$(".nav .active").append("<b class='caret'></b>");
$(.nav.active”).append(“”);
您可以使用.append()

比如:

<ul class="nav">
  <li>
    <a id="myelement" class="active">linkname<b class="caret"></b></a>
  <li>
</ul>
$('a.active').html($('a.active').text()+“”);
更新: 不知道这个问题是否与如何在文本之间插入元素类似

<a class="active">link<b class="caret">BOLD</b>name</a>

$(“a.active”)。附加(“”);
如果需要在linkname等文本后面添加元素,请尝试.html()并替换

$('.active').html(function(){
  return this.innerHTML.replace("linkname","linkname" + '<b class="caret"></b>');
});
$('.active').html(函数(){
返回this.innerHTML.replace(“linkname”、“linkname”+”);
});
您可以这样使用:

$('a.active').append('<b class="caret"></b>');

快速测试表明,这应该可以完成以下任务:

var c = '<b class="caret"></b>';
$(".active").append(c);
var c='';
$(“.active”)。追加(c);
或者作为一个单行线

$(".active").append('<b class="caret"></b>');
$(.active”).append(“”);

试试这个:

 var ele = document.querySelector("a.active");
     ele.innerHTML += "<b class="caret"></b>";
var ele=document.querySelector(“a.active”);
ele.innerHTML+=“”;

这是错误的。您的代码将在
a
之后创建
b
标记,而不是在
a
内。请参阅,代码的结果将是
linkname
var b = '<b class="caret"></b>';
var a = $('a.active');
b.appendTo(a);
$('a.active').append($('b.caret'));
var c = '<b class="caret"></b>';
$(".active").append(c);
$(".active").append('<b class="caret"></b>');
 var ele = document.querySelector("a.active");
     ele.innerHTML += "<b class="caret"></b>";