漫长的一天所以我很可能错过了一些愚蠢的东西,但我想要做的是循环通过表格获得他们的宽度,然后在父元素上设置宽度但不做任何想法或看看我哪里出错?
HTML
<div class="vScroll">
<table class="table-scroll">
....
</table>
<div class="box-bottom">stuff here</div>
</div>
<div class="vScroll">
<table class="table-scroll">
....
</table>
<div class="box-bottom">stuff here</div>
</div>
<div class="vScroll">
<table class="table-scroll">
....
</table>
<div class="box-bottom">stuff here</div>
</div>
JS
jQuery('.vScroll .table-scroll').each(function(i,el) {
var $tableSize = jQuery(this).width();
jQuery(this).parent('.box-bottom').css('width',$tableSize);
});
提前致谢!
答案 0 :(得分:0)
试试这个
$('.vScroll .table-scroll').each(function(i,el) {
var $tableSize = $(this).width();
$('.box-bottom', $(this).parent()).css('width',$tableSize);
});
这似乎是你从
获得的var $tableSize = $(this).width();
并不完全符合您的需要。它将返回包含表的父div的宽度。如果您真的想要选择表而不是div,请使用
$('.table-scroll').each(function(i,el) {
答案 1 :(得分:0)
通过一些小的改动,我认为我纠正了你的JS代码并创造了我认为是一个工作小提琴
基本上,这是生成的JS
$('.vScroll .table-class').each(function() {
var $tableSize = $(this).width();
$(this).siblings('.box-bottom').css('width',$tableSize);
});
有一些改动,主要是在table
HTML中添加一些正文并在选择器中提供正确的类名 - 但是如果参数设置为.each()
,则也不需要将参数传递给$
它们没有被使用,我将jQuery引用简化为siblings
我还使用.box-bottom
直接设置.box-bottom
项目的宽度?这是一个轻微的假设。你提到“设置父项的宽度” - 但{{1}}项是兄弟姐妹,而不是父母?
希望这有帮助。