javascript - 将修改后的字符串传递回其原始 HTML 元素

标签 javascript html regex

我有一个由插件动态生成的字符串,并且我已经使用正则表达式更改了日期的格式。

表示新字符串的 var 在控制台中显示为正确的格式,但是当我尝试将其传递回 insideHTML 时,没有任何反应?

如何将第二个(重新格式化的)日期字符串传递回带有 .date-start 类的 HTML 元素,以便输出发生变化?

提前非常感谢,

艾米丽

// remove space in string

var dateStr = document.querySelector(".date-start").innerHTML;

secondDateStr = dateStr.replace(/\sam$/, "am");

dateStr.innerHTML = secondDateStr;

console.log(secondDateStr)
<div class="date-start">January 6, 2018 @ 10:00 am</div>

最佳答案

在发布的代码中,您将一个字符串(HTMLElement.innerHTML 是字符串类型)分配给一个变量。

然后在 dateStr.innerHTML 中,JavaScript 中的字符串会自动转换为 String 类型的实例,因此在这里您向 dateStr 添加一个新属性 对象

相反,首先将 DOM 元素分配给一个变量,根据需要操作字符串,然后为该元素的 innerHTML 属性分配一个新值。

您还希望确保选择器返回单个元素,否则,如果它返回一个集合(在找到多个元素时会执行此操作),您希望获得一个特定的元素,例如 document.querySelector(".date"-开始")[0]

// remove space in string

var dateEl = document.querySelector(".date-start");

secondDateStr = dateEl.innerHTML.replace(/\sam$/, "am");

dateEl.innerHTML = secondDateStr;

console.log(secondDateStr)
<div class="date-start">January 6, 2018 @ 10:00 am</div>

关于javascript - 将修改后的字符串传递回其原始 HTML 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47762624/

相关文章:

javascript - 如何更改 jQuery 中动态创建的段落的背景颜色?

javascript - 锁定/防止关闭菜单reactjs

html - 当 Charles 运行时错误消失,关闭时它返回

html - vs code 中的 ftp-simple 扩展不显示远程文件内容

javascript - 使用 jquery 更新表行中的总数

javascript - 正则表达式匹配所有具有两个或更多字符的html标签,但ul和ol以及其中的列表项

javascript - 使用 Dojo 在特定选项卡中打开 URL

javascript - JavaScript 中的重力

regex - 有效名称不能只接受连字符

javascript - 与有效日期输入的每个阶段匹配的日期的正则表达式