如何遍历替换HTML字符串中元素的href属性?代码未生效
问题:修改HTML字符串中a标签的href后未生效,控制台仍输出旧URL
你这段代码的核心问题是:$(html)只是把原始HTML字符串转换成了内存中的DOM对象,你修改的是这个内存里的DOM节点,而不是最初定义的html字符串本身。所以最后直接打印html变量,输出的还是未修改的原始内容。
解决方法
需要先把HTML字符串转为jQuery对象,修改完成后再把这个对象转回字符串,就能得到修改后的结果:
var html='<div><a href="https://www.spectrum.net/support/manage-account/creating-username?cid=eml_ehh_60_0621">find out how</a></div>'; // 将原始HTML字符串转为jQuery对象 var $htmlElement = $(html); // 修改a标签的href属性 $htmlElement.find('a').attr("href", "test.php"); // 把修改后的jQuery对象转回HTML字符串并打印 console.log($htmlElement.prop('outerHTML'));
输出结果
<div><a href="test.php">find out how</a></div>
内容的提问来源于stack exchange,提问作者Jeevanandam
相关产品推荐
相关产品推荐

