javascript - 获取每个列表元素的最后 3 个字符并使用 Javascript 将其更改为 #
问题描述
我在 HTML 上有一组电话号码列表。我需要用### 替换每最后 3 位数字。
使用纯 Javascript 执行此操作的最佳方法是什么?
<ul>
<li>
<dl>
<dt>Phone:</dt>
<dd class="phone">333444555</dd>
</dl>
</li>
<li>
<dl>
<dt>Phone:</dt>
<dd class="phone">777888999</dd>
</dl>
</li>
</ul>
预期的结果应该是这样的
<ul>
<li>
<dl>
<dt>Phone:</dt>
<dd class="phone">333444###</dd>
</dl>
</li>
<li>
<dl>
<dt>Phone:</dt>
<dd class="phone">777888###</dd>
</dl>
</li>
</ul>
感谢所有答案..
干杯
解决方案
您可以使用querySelectorAll()
“电话”类获取所有元素,然后通过使用循环遍历它们返回一个没有最后 3 个字符的新字符串String.prototype.slice()
,最后连接###
:
var phones = document.querySelectorAll('.phone');
phones.forEach(function(p){
var t = p.textContent;
p.textContent = t.slice(0, -3) + '###';
});
<ul>
<li>
<dl>
<dt>Phone:</dt>
<dd class="phone">333444555</dd>
</dl>
</li>
<li>
<dl>
<dt>Phone:</dt>
<dd class="phone">777888999</dd>
</dl>
</li>
</ul>
推荐阅读
- r - R studio:虽然函数列在我工作目录中的文件列表中,但找不到函数
- matplotlib - 将现有的 matplotlib 轴对象传递给 wxmplot / wxpython
- python - 将 Colab 单元的图像输出保存到文件资源管理器
- javascript - 使用 ES6 类反应 useState
- python - 为什么我的 while 循环卡住了,即使我正在增加它?
- c++ - 太多初始化值错误
- java - 如何在 JTable 行上添加 JComboBox 并在同一列中使用不同的组合框项集?
- html - Position Absolute 内部位置绝对定位
- google-sheets - 是否可以使用脚本在 Google Sheet 上的多个工作表中启用编辑?
- reactjs - 为什么如果我尝试使用未注册电子邮件的 google 按钮进入 firebase 登录时,它是否允许我进入私人路线?