Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/404.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用纯javascript(多个容器)向所有子元素添加样式_Javascript_Html - Fatal编程技术网

使用纯javascript(多个容器)向所有子元素添加样式

使用纯javascript(多个容器)向所有子元素添加样式,javascript,html,Javascript,Html,我需要的是不同的el.style.height,它取决于子节点的数量。。因此,例如,在第二个div中,类链接->标记应具有style=“height:100px”; 我已经建立了这个: 函数sameHeightLinks(){ var linkContainers=document.querySelectorAll('.links'); 对于(var i=0;i{ if(container.childElementCount==2){ for(设i=0;ia:第一个孩子:第n个最后一个孩子(2

我需要的是不同的el.style.height,它取决于子节点的数量。。因此,例如,在第二个div中,类链接->标记应具有style=“height:100px”; 我已经建立了这个:

函数sameHeightLinks(){
var linkContainers=document.querySelectorAll('.links');
对于(var i=0;i

某些链接
某些链接
某些链接
某些链接
某些链接
某些链接
某些链接
某些链接
某些链接

您可以这样做:

函数sameHeightLinks(){
const linkContainers=document.querySelectorAll('.links');
linkContainers.forEach(容器=>{
if(container.childElementCount==2){
for(设i=0;i

某些链接
某些链接
某些链接
某些链接
某些链接
某些链接
某些链接
某些链接
某些链接

我假设确定一个div的子元素是否应该被样式化的唯一逻辑是该div的子元素的数量。如果是这样的话,那么您可以使用我在关于基于子元素选择元素中找到的这个技巧

解决方案只是一个稍微复杂的CSS选择器。不需要javascript

它在IE11中起作用,参见

.links>a:第一个孩子:第n个最后一个孩子(2),
.links>a:第一个孩子:第n个最后一个孩子(2)~a{
身高:59.5px;
}

某些链接
某些链接
某些链接
某些链接
某些链接
某些链接
某些链接
某些链接
某些链接

您必须使用javascript来实现这一点吗?为什么不使用静态CSS呢?这就是CSS的目的。是的。我很乐意使用CSS。这将是2分钟的修复。但是我不能(在这个特定的例子中)。为什么你不能使用CSS?因为我不仅仅有3个div。假设divs的数量大约在50+左右,每次重新创建页面时(添加新数据-删除旧数据),它们的链接数量都不同。因此,对于您来说,页面可以显示带有3个链接的第一个div(在这段时间内)。但对于其他人来说,第一个div将包含5个链接。你有什么逻辑来决定哪些“链接”div应该有什么样式?我的错..需要IE 11支持。。。。forEach在IE11中不起作用,但您的解决方案很棒。啊,没问题!我已经更新了我的答案。我把原版换成了forEach,因为我觉得它看起来更干净。