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

如何用jQuery优雅操作元素style属性实现div宽高互换?

用jQuery优雅互换div的宽高(针对style属性中的尺寸)

你完全不用纠结正则解析style这种麻烦事!jQuery其实给我们提供了非常便捷的css()方法,专门用来操作元素的样式属性——不管是内联的style还是外部样式表定义的,都能轻松搞定。

针对你的需求,具体可以这么写:

// 选中目标div元素
var $mydiv = $('#my_table').find('div.myclass');
// 获取当前的宽高(会返回带单位的字符串,比如"320px")
var currentHeight = $mydiv.css('height');
var currentWidth = $mydiv.css('width');
// 一键互换宽高
$mydiv.css({
  'height': currentWidth,
  'width': currentHeight
});

如果你的style里写的是不带单位的数值(比如你例子里的height: 480; width: 320)也没关系,jQuery会自动默认补充px单位,不过更规范的写法还是在style里明确加上单位哦。

另外还有个更简洁的写法,如果你只需要纯数字的尺寸(不带单位),可以用jQuery的height()和width()方法,它们直接返回数字值,计算起来更方便:

var $mydiv = $('#my_table').find('div.myclass');
var heightNum = $mydiv.height();
var widthNum = $mydiv.width();
// 链式调用完成互换
$mydiv.height(widthNum).width(heightNum);

这样是不是比正则解析style字符串优雅太多啦?完全不用去折腾那些复杂的匹配逻辑~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 04:06:41