使用纯javascript(多个容器)向所有子元素添加样式
我需要的是不同的el.style.height,它取决于子节点的数量。。因此,例如,在第二个div中,类链接->标记应具有style=“height:100px”; 我已经建立了这个:使用纯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
函数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,因为我觉得它看起来更干净。