如何移除子元素中的特殊字符?jQuery replace修改标签内容不生效问题
问题原因
replace()是字符串方法,仅会返回处理后的新字符串,不会修改原字符串,也不会自动更新DOM内容。你原来的代码仅读取了元素内容完成了替换逻辑,但没有把替换后的结果回写到页面元素中,因此页面展示不会发生变化,只有控制台打印的临时处理结果是正确的。
修复代码
只需要将替换后的结果重新赋值给对应元素的innerHTML即可,修改后的JS逻辑如下:
$(document).ready(function() { var child = $("span").children()[1]; // 将替换后的内容回写到DOM元素 $(child).html($(child).html().replace(/,/g , '')); });
其余CSS、HTML代码无需修改,运行后即可得到预期的One, Two效果。
补充说明
你当前的HTML结构存在语义不规范问题:<li>是列表项元素,只能作为<ul>/<ol>的直接子元素,直接放在<span>下不符合W3C规范,建议调整外层容器为<ul>避免潜在的样式或渲染异常。
内容的提问来源于stack exchange,提问作者Faheem azaz Bhanej
相关产品推荐
相关产品推荐

