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

三个可编辑div同步内容:单行jQuery代码失效问题求助

问题原因与解决方案

你的问题出在jQuery方法的返回值上:

当你调用 $("#oimg1").text($(this).text()) 时,这个方法返回的是jQuery对象本身(选中的#oimg1元素),而不是你设置的文本内容。所以你把它传给$("#dimg1").html()时,实际上是把jQuery对象转成字符串(通常是[object Object])赋值给了#dimg1的HTML,这显然不符合需求。

正确的写法

如果想保持代码简洁,优先推荐把文本存到变量里,避免重复获取:

$("#img1").keyup(function() {
  const content = $(this).text();
  $("#dimg1").html(content);
  $("#oimg1").text(content);
});

如果一定要写成单行(不推荐,可读性差),可以用逗号运算符分隔两个操作:

$("#img1").keyup(function() {
  $("#oimg1").text($(this).text()), $("#dimg1").html($(this).text());
});

本质上,原分开写的代码逻辑是对的——先给#dimg1设置HTML,再给#oimg1设置文本,两者都依赖$(this).text()的结果。合并时不能错误地把一个方法的返回值当作另一个方法的参数,因为jQuery的 setter 方法(带参数的text()/html())返回的都是jQuery对象,用于链式调用,而不是设置后的内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 03:15:41