gpt4 book ai didi

javascript - String.Replace() 的小问题

转载 作者:行者123 更新时间:2023-11-30 19:16:02 25 4
gpt4 key购买 nike

我还不太精通 JS,我遇到了一个奇怪的问题,它看起来像 .replace() 应该 工作但不是。

我只是尝试获取一个包含文本 + 数字的字符串(来自元素 ID),用 RegEx 模式替换数字,然后用原始文本 + 新数字替换该 ID 中的原始文本。

我的 HTML 示例:

<html>
<body>

<p>Click the button to replace "Movies: 12344" with "Movies: 54321" in the paragraph below:</p>

<p id="demo">Movies: 1234!</p>

<button onclick="myFunction()">Try it</button>

</body>
</html>

我的 JS:

function myFunction() {

// Get all the text in #id=demo
var str = document.getElementById("demo");

// RegEx pattern to find ": <some digits>"
var pat = /\:\s?\d*/;

// Replace the digits
var res = str.replace(pat, ': 54321');

// Doesn't work (as a test) ...
//res = " hi"

// Replace the text in id=demo with original text + new digits.
str.innerHTML = res;

// Doesn't work (as a test) ...
//document.getElementById("demo").innerHTML = res;
}

目前,点击页面中的按钮后,没有任何反应。

这也可能有点帮助: https://codepen.io/stardogg/pen/aboREmL

最佳答案

与在函数的最后一行设置 innerHTML 的方式相同,innerHTML 也是您应该应用 replace上:

function myFunction() {
var str = document.getElementById("demo");

var pat = /\:\s?\d*/;

var res = str.innerHTML.replace(pat, ': 54321');

str.innerHTML = res;
}
<p>Click the button to replace "Movies: 12344" with "Movies: 54321" in the paragraph below:</p>

<p id="demo">Movies: 1234!</p>

<button onclick="myFunction()">Try it</button>

关于javascript - String.Replace() 的小问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57997129/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com