请求JavaScript/jQuery脚本:将指定HTML中的Phone:替换为Tel.
解决方案
jQuery 实现
你可以通过匹配目标元素,仅替换文本中的指定内容,而非覆盖整个元素文本:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> <script> $(document).ready(function(){ // 定位到staff_contact下包含"Phone:"的p标签 $('.staff_contact p:contains("Phone:")').text(function(index, oldText) { // 替换指定字符串 return oldText.replace('Phone:', 'Tel.'); }); }); </script>
原理:text()方法支持传入函数,函数的第二个参数是元素原有文本内容,对该文本做字符串替换后返回即可。
原生 JavaScript 实现
如果不想依赖jQuery,也可以用原生JS完成:
<script> document.addEventListener('DOMContentLoaded', function() { // 获取所有staff_contact下的p元素 const contactPs = document.querySelectorAll('.staff_contact p'); // 遍历找到包含"Phone:"的元素 contactPs.forEach(p => { if (p.textContent.includes('Phone:')) { p.textContent = p.textContent.replace('Phone:', 'Tel.'); } }); }); </script>
你之前的代码无效原因
你之前的代码直接用text()覆盖了整个元素的内容,而我们需要的是替换文本中的特定片段,所以必须先获取原文本,修改后再重新赋值。
内容的提问来源于stack exchange,提问作者chuckp
相关产品推荐
相关产品推荐

