当一个元素中有绝对定位的子元素时,获取该元素的全宽
Get full width of an element when it has absolutely positioned child elements inside it
JS Fiddle:http://jsfiddle.net/meYnS/3/
假设我有一个宽度为100px的元素.outer
和position:relative;
。它具有一个内部元素,该内部元素具有position:absolute;
和left:95px;
。即子元素超过父元素的宽度。
现在,在JQUery中,如果我尝试使用$('.outer').outerWidth();
获取父对象的宽度,它将返回100。
但是,我如何才能获得外部元素的全宽(由于绝对定位的子元素,它显然大于100)?
有没有内置的方法,或者我必须手动计算(即将每个子宽度添加到父宽度以计算出全宽度)?
您可以使用属性scrollWidth
、scrollHeight
。
如果您使用的是jQuery,
$('.outer').get(0).scrollWidth
您已经将宽度设置为100px,并且子元素的位置是绝对的,所以它不会影响其父元素的宽度。父对象的宽度仍然是真正的100px。
scrollWidth
的访问,因此必须使用jQuery访问DOM元素。
get()是一种用于实现DOM元素的方法。
因此,使用jQuery的解决方案是$('.outer').get(0).scrollWidth
如果您使用原始javascript,解决方案将是document.getElementsByClassName('outer')[0].scrollWidth
相关文章:
- React - 从 DOM 元素获取组件以进行调试
- 如何使用 JQuery 从相对元素获取 html 文本
- 从同一域上的 iframe 中的元素获取值
- 使用本机 Javascript 从 DOM 元素获取选择器字符串
- 使用jquery从另一个元素获取使用id的输入的id
- 如何从角度元素获取编译的节点值
- 如何为不同的元素获取不同的父类
- 从 jQuery 中的子元素获取父 tr 元素
- 当浮点部分为空时,从 JQuery 中的输入元素获取数字值不起作用
- 从 XML 元素获取文本
- 从音频元素获取音频样本
- 从所选元素 html 上方的元素获取属性值
- 使用 jQuery.data 从 dom 元素获取布尔值
- 如何通过jquery从某个元素获取部分文本
- 从输入元素获取表单和表单数据对象
- 从动态元素获取挖空视图的大小
- 从中继器循环中显示的子自定义元素获取正确的上下文.奥蕾莉亚
- 如何使用 JavaScript 或 JQuery 从输入类型=文件 html 元素获取文件名
- 从父元素获取 ID 并将它们放在数组中
- 尝试从选项元素获取 HTML