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