You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过JS修改contenteditable为plaintext-only的div元素内容

问题原因
  • 原生HTML中<input>属于空元素(Void Element),本身不支持内嵌子节点,也无法通过innerHTML属性修改内部内容。你看到的嵌套在<input>内部的div是前端框架/自定义组件库渲染的特殊结构,直接操作<input>的innerHTML属性不会生效。
  • 你原有代码的写法是直接覆盖整个<input>的内部HTML,即使生效也会删除原本存在的pseudo="placeholder"属性的div节点,和你的修改需求不符。
解决方案

你只需要定位到带contenteditable="plaintext-only"属性的目标div,直接修改它的文本内容即可,推荐使用textContent而非innerHTML,避免XSS安全风险:

const editableDiv = document.querySelector('#prezzo-da-e div[contenteditable="plaintext-only"]');
// 先判断节点存在再操作,避免空指针报错
if (editableDiv) {
  editableDiv.textContent = '1';
}

如果该DOM结构是页面加载完成后异步渲染生成的,需要等节点挂载完成后再执行代码,可以包裹在DOM加载完成的监听事件中:

document.addEventListener('DOMContentLoaded', () => {
  const editableDiv = document.querySelector('#prezzo-da-e div[contenteditable="plaintext-only"]');
  if (editableDiv) {
    editableDiv.textContent = '1';
  }
});

内容的提问来源于stack exchange,提问作者Alex1919

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 23:18:03