jQuery附加到现有元素

时间:2017-12-12 12:30:01

标签: jquery

我有以下HTML代码:

<a class="dropdown-toggle" id="ddaccount" aria-expanded="false">
    <i class="fa fa-lock"></i>&nbsp;
    <span class="hidden-sm hidden-md hidden-lg">User Account</span>
    <span class="caret"></span>
</a>

我需要将&nbsp;替换为&nbsp; USER

我尝试使用这个jQuery代码,但它在标记的末尾插入而不是重新生成现有的&nbsp;

$('a#ddaccount').append('USER');

所以我需要得到这个:

<a class="dropdown-toggle" id="ddaccount" aria-expanded="false">
    <i class="fa fa-lock"></i>&nbsp;USER
    <span class="hidden-sm hidden-md hidden-lg">User Account</span>
    <span class="caret"></span>
</a>

我明白了:

<a class="dropdown-toggle" id="ddaccount" aria-expanded="false">
    <i class="fa fa-lock"></i>&nbsp;
    <span class="hidden-sm hidden-md hidden-lg">User Account</span>
    <span class="caret"></span>
    &nbsp;USER
</a>

我尝试使用first()之后的()i元素但没有效果?

2 个答案:

答案 0 :(得分:1)

您正在做的是append(),它只是将内容添加到html内容的末尾。

您应该做的是获取整个html内容,然后用&nbsp;替换&nbsp;USER,然后将其分配回html。

<强>样本

$('a#ddaccount').html($('a#ddaccount').html().replace(/&nbsp;/g, '&nbsp;USER'));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a class="dropdown-toggle" id="ddaccount" aria-expanded="false">
    <i class="fa fa-lock"></i>&nbsp;
    <span class="hidden-sm hidden-md hidden-lg">User Account</span>
    <span class="caret"></span>
</a>

答案 1 :(得分:1)

使用replace()

&#13;
&#13;
$('a#ddaccount').html($('a#ddaccount').html().replace(/&nbsp;/g, '&nbsp;USER'));
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>


<a class="dropdown-toggle" id="ddaccount" aria-expanded="false">
    <i class="fa fa-lock"></i>&nbsp;
    <span class="hidden-sm hidden-md hidden-lg">User Account</span>
    <span class="caret"></span>
</a>
&#13;
&#13;
&#13;