jquery/javascript:下拉框位于错误的位置

jquery/javascript:下拉框位于错误的位置,javascript,jquery,css,Javascript,Jquery,Css,如果我的jquery框不是通用的,我不太理解它,那么我之前就得到了放置帮助。代码将我的下拉框向右展开,但是现在我已经更改了链接位置,该框不再正确对齐。以下是新代码: $('.menu ul li:has("ul")').each(function(){ var nameWidth = $(this).outerWidth(), dropdownWidth = $(this).find('ul').width(), change = (dropdownWidth

如果我的jquery框不是通用的,我不太理解它,那么我之前就得到了放置帮助。代码将我的下拉框向右展开,但是现在我已经更改了链接位置,该框不再正确对齐。以下是新代码:

$('.menu ul li:has("ul")').each(function(){
   var nameWidth = $(this).outerWidth(),
       dropdownWidth = $(this).find('ul').width(),
       change = (dropdownWidth - nameWidth) - 10;
    $(this).find('ul').css('left', change+'px');

这是我在css中的全部代码,您可以更改以下内容:

.menu ul li ul{
   position:absolute;
   right: 0px;  // Add this  
   // Rest of your css
}
它会将下拉列表向右对齐,就像前面的左侧一样,而不使用您描述的每个循环。但是,当您仅定义left属性时,循环也会起作用:

.menu ul li ul{
    position:absolute;
    left: 0px;  // Add this  
    // Rest of your css
}