如何删除jQuery中元素标记内的字符?

时间:2016-07-20 10:01:10

标签: javascript jquery html

我正在格式化WordPress中的注册表单。最后一个p元素标记包含|。此表单无法直接编辑。这是忘记密码标签的当前标记:

<p id="nav">
 |  <a href="?action=lostpassword">Forgot password?</a>
</p>

如何删除|中的#nav以便“忘记密码?”链接将保持?

3 个答案:

答案 0 :(得分:4)

如果包含|的文本节点始终是p的第一个孩子,则可以使用childNodes[0].remove(),如下所示:

document.getElementById('nav').childNodes[0].remove();

或者在jQuery中:

$('#nav').contents()[0].remove()

&#13;
&#13;
document.getElementById('nav').childNodes[0].remove();
&#13;
<p id="nav">
  | <a href="?action=lostpassword">Forgot password?</a>
</p>
&#13;
&#13;
&#13;

答案 1 :(得分:3)

简单的解决方案就是超级简单地更换管道字符而不用任何东西。 ;)

spring-amqp

修改
正如在另一个答案中所讨论的(并由A. Wolff提到),在函数中执行此操作甚至是一个好主意,以防止$("#nav").html($("#nav").html().replace("|", "")); 元素的双DOM搜索。你可以这样做:

p#nav

答案 2 :(得分:2)

您可以使用.html( function )更改元素的html。在函数中删除目标字符。

&#13;
&#13;
$("#nav").html(function(i, html){
    return html.replace("|", "");
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p id="nav">
 |  <a href="?action=lostpassword">Forgot password?</a>
</p>
&#13;
&#13;
&#13;