Javascript nodeValue和indexOf不';我的情况不行

Javascript nodeValue和indexOf不';我的情况不行,javascript,jquery,Javascript,Jquery,我的html <dd> <br>作詞:汪峰 <br>作曲:汪峰 <br> <br>他們將你狠狠地遺棄在街口 <br>流血的腦袋出現混亂的幻覺 <br>你是否在懷疑你拼死的付出 <br>是否再一次質疑堅守的信仰 我想删除包含符号的:,但使用indexOf无法工作,为什么?我控制台nodeValue,它确实选择了正确的DOM。那:不是英文的:,而是

我的html

<dd>
    <br>作詞:汪峰
    <br>作曲:汪峰
    <br>
    <br>他們將你狠狠地遺棄在街口
    <br>流血的腦袋出現混亂的幻覺
    <br>你是否在懷疑你拼死的付出
    <br>是否再一次質疑堅守的信仰

我想删除包含
符号的

,但使用indexOf无法工作,为什么?我控制台nodeValue,它确实选择了正确的DOM。

那:不是英文的:,而是中文的。这就是你搜索的符号不存在的原因

如果仔细查看字符串中的符号:,您会发现它不是一个字符
(冒号)。要检查它,只需从字符串中复制它,并使用
charCodeAt
方法,如下所示:

':'.charCodeAt(0)
它将为您提供65306,即“全宽冒号”——

要搜索它,只需将代码中的冒号替换为以下冒号:

$(document).ready(function () {
    $('br').each(function () {
        var nodeValue = this.nextSibling.nodeValue;
        if (nodeValue.indexOf(':') > -1) {
            $(this.nextSibling).remove();
            $(this).remove();
        }
    });
});
但最好使用数字形式和注释:

nodeValue.indexOf('\uFF1A') // FULLWIDTH COLON


元素不是容器。
中的文本将在作为
子节点的单独文本节点中找到。编辑-哦,等等,对不起;您已经知道:)在我的html第三行中是一个没有任何nodeValue的
,如果nodeValue==“”我会删除它,它仍然在那里,知道吗?它不是“”,它是“\n”,所以使用
nodeValue.trim()==”
nodeValue.indexOf('\uFF1A') // FULLWIDTH COLON