Jquery 将“div height”设置为“all child”
我有一个名为Jquery 将“div height”设置为“all child”,jquery,Jquery,我有一个名为tabs(作为id)的主div容器,在这个容器中我有另一个名为divContent,在这个容器中我有很多选项卡(作为Chrome选项卡),这些选项卡都是id:tabs1、tabs2等 结构如下: <div id="tabs"> <div id="divContent"> <div id="tabs1"></div> <div id="tabs1"></div>
tabs
(作为id)的主div容器,在这个容器中我有另一个名为divContent
,在这个容器中我有很多选项卡(作为Chrome选项卡),这些选项卡都是id:tabs1、tabs2等
结构如下:
<div id="tabs">
<div id="divContent">
<div id="tabs1"></div>
<div id="tabs1"></div>
</div>
</div>
是否可以设置
divContent
中所有选项卡的高度?当然,只需选择它们并设置高度,例如:
$("#divContent > div").height(100);
将所有选定选项卡的高度设置为
200px
say
$("divContent").children("div").css("height","200px");
看起来你有重复的ID。这一定是您无法基于ID将其作为目标的原因。ID应始终是唯一的。您可以使用相同的类(例如
divtabs
),然后使用类选择器将其作为目标:
$('.divtabs').height(500);
您可以使用立即子选择器以#divContent
div中的立即子div元素为目标:
$('#divContent > div').height(500);
另外,如果您想将在模式tabs1、tabs2…等中具有ID的元素作为目标,则可以使用属性start with selector:
$('#divContent div[id^=tabs]').height(500);
内部div-id中的Html-set类应该是唯一的
<div id="tabs">
<div id="divContent">
<div id="tabs1" class="in-tab">aaa</div>
<div id="tabs2" class="in-tab">bbb</div>
</div>
</div>
为什么要使用jQuery,为什么不使用css?@Pete屏幕的高度是动态的size@JdoeE仍然不需要jquery来设置高度,css功能强大,但由于您还没有创建一个,因此很难向您说明为什么要将它们全部设置为
100px
height?为什么不.height(height)
?为什么不.height(200)
?@eisbehr:为什么不是我做的那个?因为它是开销。设置值时,始终必须使用字符串。为同一个动作写更多的东西。甚至像$(“divContent”)。children(“div”)
与$(“divContent>div”)
是一样的,而且速度也应该更快,因为您只需选择一个而不是两个。所以你需要做更多的事情(依我看):)但我只是想问你有没有什么理由这样做…@eisbehr:你说的被接受了!我的想法是,如果我以这种方式编写代码,那么任何不熟悉JQuery的用户都可以通过阅读代码来理解逻辑。例如:代码本身声明我需要选择.divContent
的所有子项
,然后给它分配一个css。所以这是一个不言自明的代码。但是我同意你说的更好。@eisbehr$(“#divContent>div”)
的调用速度比使用慢。children
-jQuery必须解析选择器,然后它所做的就是调用。children
,所以如果你为开销而烦恼,那么你应该保留.children,而不是使用你建议的
$(document).ready(function() {
var height = $("#tabs").height();
alert(height)
$(".in-tab").css("height",height+"px")
});