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

如何使用jQuery向td追加div并根据td的clientWidth动态设置div宽度

问题原因

  • 你给div加的Div1不是合法的标识属性,需要改为id="Div1"才能被jQuery选择器匹配
  • 后续修改写法存在低级错误:选择器未闭合单引号、变量名拼写错误(tdWidthPx错写为tdWithPx)
  • 原选择器写法错误,id选择器需要加#前缀,正确写法为$('#Div1')

最优实现方案(追加时直接设置宽度,首次渲染即生效)

直接在拼接HTML字符串时把宽度变量注入即可,不需要后续操作:

var td = document.getElementById("someId");
var tdWidth = td.clientWidth; // 示例值: 165
// 模板字符串写法(ES6+支持)
td.append(`<div id="Div1" style="margin:auto; width:${tdWidth}px;"><div msg style="color:red">Text, Text, Text</div></div>`);

如果需要兼容不支持ES6的旧环境,用普通字符串拼接:

var td = document.getElementById("someId");
var tdWidth = td.clientWidth;
td.append('<div id="Div1" style="margin:auto; width:' + tdWidth + 'px;"><div msg style="color:red">Text, Text, Text</div></div>');

后续动态修改宽度的正确写法

如果有后续动态调整宽度的需求,确保元素已经插入DOM后执行以下代码即可:

var tdWidthPx = tdWidth + 'px';
$('#Div1').css('width', tdWidthPx);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 19:54:01