提问人:NonArtificialIntelligence 提问时间:8/26/2023 最后编辑:NonArtificialIntelligence 更新时间:8/26/2023 访问量:29
jQuery replaceWith(responseText) 开始将引号编码为 ”竟然
jQuery replaceWith(responseText) started encoding quotes as " unexpectedly
问:
我遇到了一个问题,即 jQuery 函数通过将双引号替换为 来修改元素的属性值。replaceWith(responseText)
"
原始响应文本:
<div id='whatsapp_icon' onclick='whatsappClick("37112345678", "")'></div>
使用 replaceWith 后:
<div id="whatsapp_icon" onclick="whatsappClick("37112345678", "")"></div>
此问题是最近才出现的,以前该方法按预期工作。特别是:
- 该问题不会出现在所有系统上,而是出现在大多数系统上。
- 我试图禁用浏览器中的所有扩展,但没有结果(这种行为不是同时出现的,而是在完全独立的系统上的一两天内出现的)。
- 代码最近未被修改。
- jQuery 库未更新。
- 该函数表现出相同的行为。
.html()
是什么导致了这种行为变化?
答:
0赞
MatrixDevops
8/26/2023
#1
有时,浏览器更新会改变 HTML 的呈现和解析方式。正如您已经提到的,代码没有更改,jQuery库和代码都没有更改。因此,浏览器更新可能会影响属性值的显示和处理方式。
评论
0赞
NonArtificialIntelligence
8/26/2023
我也有同样的想法,但这意味着许多网站将不得不开始以与以前不同的方式运行,有关它的信息将出现在互联网上,尤其是这里。但我无法在谷歌上搜索任何关于它的信息。也许已经过去了一段时间,它才发生在昨天。
评论
testText = "<div title='A \"TEST\" B'></div>"; var oldElement = document.getElementById('people_' + order_id); var parentElement = oldElement.parentElement; parentElement.innerHTML = testText;
<div title="A "TEST" B"></div>