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

如何获取container-body类下所有textarea输入值并赋值给变量

原生JavaScript实现方案

直接通过DOM选择器匹配所有符合条件的文本框,遍历取值即可:

// 匹配所有.container-body下的.body-text类textarea元素
const textareaList = document.querySelectorAll('.container-body textarea.body-text');
// 用数组存储所有文本框的值,也可按需赋值给独立变量
const textareaValues = [];

textareaList.forEach((textarea, index) => {
  // 不需要去除首尾空格可以去掉.trim()
  const currentValue = textarea.value.trim();
  textareaValues.push(currentValue);
  // 需单独赋值给变量可按索引处理,示例:
  // if(index === 0) firstTextareaVal = currentValue;
  // if(index === 1) secondTextareaVal = currentValue;
})

如果需要按所属的container-body容器分组取值,避免不同容器的文本框混淆,可以用嵌套遍历实现:

const allContainerList = document.querySelectorAll('.container-body');
const groupedTextValues = [];

allContainerList.forEach(container => {
  const currentContainerTextareas = container.querySelectorAll('textarea.body-text');
  const currentValues = Array.from(currentContainerTextareas).map(item => item.value.trim());
  groupedTextValues.push(currentValues);
})

jQuery实现方案

如果项目引入了jQuery,写法更简洁:

// 直接获取所有符合条件的文本框值存入数组
const textareaValues = $('.container-body textarea.body-text').map(function() {
  return $(this).val().trim();
}).get();

// 按container-body容器分组取值
const groupedTextValues = $('.container-body').map(function() {
  return $(this).find('textarea.body-text').map(function() {
    return $(this).val().trim();
  }).get();
}).get();

注意事项:

  • 不要通过getAttribute('value')获取textarea的值,textarea标签上的value属性是初始默认值,不会随用户输入更新,直接取元素的value属性即可拿到实时输入值
  • 如果textarea是动态渲染生成的,需要等DOM节点插入完成后再执行上述取值代码

内容的提问来源于stack exchange,提问作者John Lloyd Detomal

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 14:54:07