如何在textarea中显示变量内容?排查我的实现错误
问题排查与解决
核心错误点:
- HTML结构错误:textarea属于替换型元素,内部不能嵌套
<span>这类标签,浏览器会自动忽略textarea内部的子元素,所以你的.imo_desc_sitespan根本不会被正确渲染,自然无法通过选择器找到它。 - JS选择器与操作对象错误:你试图给不存在的span设置内容,但实际上应该直接操作textarea本身,而非它的子元素。
- JS语法问题:如果不是在ES6模板字符串环境中,
${property.imo_desc_site}这种写法会触发语法错误,直接使用变量名即可。
修正方案:
第一步:修复HTML结构
删掉textarea内部的span,给textarea加上目标类用于定位:
<div class="col-md-12" style="margin-bottom: 0px !important"> <div class="form-group"> <label for="imo_desc_site" style="margin-bottom: 10px;">DESCRIÇÃO DO IMÓVEL - EM BREVE</label> <textarea readonly rows="15" class="form-control no-resize imo_desc_site" style="border: 1px solid #7777774a; border-radius: 10px;"> </textarea> </div> </div>
第二步:修正JS代码
textarea的内容通过value属性控制,jQuery中用val()方法读写,而非html():
// 直接定位textarea,用val()设置内容 $('#view-property .imo_desc_site').val(property.imo_desc_site);
额外注意:
- 确保代码在DOM加载完成后执行(比如放在
$(document).ready()回调里,或者页面底部),避免因元素未渲染导致选择器找不到目标。
内容的提问来源于stack exchange,提问作者Mike Otharan
相关产品推荐
相关产品推荐

