2017-02-22 151 views
-3

请检查这个URL。 http://devsite.itrheat.com/products/marin-heating-systems/我怎样才能得到在UL上下的长度为

我想知道的是, 当你将鼠标悬停在左边的菜单,如“房车,拖车”,“海洋暖气..”,你可以看到子菜单,如“绿洲NE”,“ Oasis NE-S ..“。

所以我想要得到的子菜单的长度。 因为我想使子菜单宽度相同。 所以如果我得到子菜单的长度,我可以使它们的宽度相同(子菜单宽度= 100%/子菜单长度)

请帮助我。

+1

[阅读如何提问](http://stackoverflow.com/help/how-to-ask) –

回答

0

此代码应该可以帮助你做到这一点。

var sublinks = document.getElementsByClassName("product-sub-links")[0]; 
var activeUl = sublinks.getElementsByClassName("active")[0]; 
var liLength = activeUl.getElementsByTagName("li").length; 
0

既然你通过主ID映射你的主菜单,子菜单=>子类比你可以这样做:

$('.product-top-links li').mouseenter(function() { 
    var list = $('.product-sub-links .'+$(this).attr('id')+' li'); 

    // total elements as "length as count of elements" 
    console.log(list.length); 

    var totalWidth = 0; 

    $.each(list, function() { 
     totalWidth += $(this).outerWidth(); 
    }); 

    // total width as "length as all elements combined width" 
    console.log(totalWidth); 
}); 

只要确保你第一次显示您的子菜单,只再算上宽度,作为隐藏要素(即使它是由父母隐藏)将有0px宽度