简单jQuery算法
理论上讲,如果我有一个无序项目的列表简单jQuery算法,jquery,math,Jquery,Math,理论上讲,如果我有一个无序项目的列表 <ul> <li><a>Link1</a></li> <li><a>Link1</a></li> </ul> 提前谢谢 您忘记在一些地方使用$,并且您正在尝试获取位于特定范围内的宽度,因此不应该重新查询整个DOM。这可以做到: $('ul > li').each(function() { var liWidt
<ul>
<li><a>Link1</a></li>
<li><a>Link1</a></li>
</ul>
提前谢谢 您忘记在一些地方使用
$
,并且您正在尝试获取位于特定
范围内的
宽度,因此不应该重新查询整个DOM。这可以做到:
$('ul > li').each(function() {
var liWidth = parseFloat($(this).width());
var aWidth = parseFloat($(this).find('a').eq(0).width());
$(this).width((liWidth - aWidth) + liWidth);
});
看起来你忘了一些美元
$('ul > li').each(function() {
var liWidth = $(this).width();
var aWidth = $(this).find('a').width();
var subractedWidth = parseFloat(liWidth) - parseFloat(aWidth);
var newWidth = subtractedWidth + parseFloat(liWidth);
$(this).css('width',newWidth);
});
你可以
$('ul > li > a').each(function () {
var li = $(this).closest('li'),
liWidth = li.width(),
aWidth = $(this).width();
li.width(liWidth + (liWidth - aWidth));
});
和$('ul>li>a)注意('ul>li>a)再次感谢您对语法的帮助
$('ul > li > a').each(function () {
var li = $(this).closest('li'),
liWidth = li.width(),
aWidth = $(this).width();
li.width(liWidth + (liWidth - aWidth));
});