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

如何在JS/jQuery中获取元素带单位宽度以实现响应式包裹?

问题:实现响应式的textarea包裹容器宽度继承

我正在编写一个jQuery插件,需要将宽度可能为任意单位的textarea元素用div元素包裹,并将原元素的宽度及单位应用到新的父div上。像素宽度无法满足需求,因为我希望整体保持响应式。

示例代码

样式代码

#target {
  width: 90%; /* 也可能是10rem、80vw等任意单位 */
}

脚本代码

$(function(){
  let container=$('<div>');
  container.width(???); // 需让container的宽度与textarea在CSS中设置的一致——此处为90%
  $('#target').wrap(container).css('width','100%');
});

页面元素

<textarea id="target"></textarea>

预期结果

<div style="width: 90%"> <!-- 对应原textarea设置的任意宽度及单位 -->
  <textarea id="target" style="width: 100%"></textarea>
</div>

显然,使用outerWidth()或window.getComputedStyle可以轻松获取精确的像素值,但这无法实现响应式。

编辑说明:该问题已有解决方案,但目前仅在Blink内核浏览器中可行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 08:40:31