如何对列表项的宽度求和,其顶部等于0px

时间:2013-09-17 07:06:46

标签: javascript jquery html css

HTML:

<ul class="listul">
    <li style="width:10px; top: 0px"></li>
    <li style="width:10px; top: 0px"></li>
    <li style="width:10px; top: 5643px"></li>
    <li style="width:10px; top: 56px"></li>
</ul>

JS:

var top = $('.listul li').css('top');
var wT = 0;
if (top = '0px'){
    $(this).each(function(){
        wT += $(this).outerWidth();
    });
    alert(wT);
}

我想用if(top ='0px')来总结li的宽度但是 这不行,请帮帮我

5 个答案:

答案 0 :(得分:1)

要循环每个列表项并检查top值,您应该尝试:

$(function(){

    var wT = 0;
    var items = $('.listul li');
    items.each(function(){
        if($(this).css('top') == "0px"){
             wT += $(this).outerWidth();
        } 
    });
    alert(wT);

});

参见 JsFiddle

答案 1 :(得分:0)

指定宽度:li的样式标记为10px。不是width10px

答案 2 :(得分:0)

你可以这样做:

var wT = 0;
$('.listul li').each(function(index, element) {
    var $element = $(element);
    if ($element.css('top')=='0px') {
        wT+=$element.outerWidth();
    }
});

alert(wT);

以下是 DEMO JSFiddle

答案 3 :(得分:0)

你的HTML代码必须是这样的:

 <ul clas="listul">
    <li style="width: 10px; top: 0px;"></li>
    <li style="width: 10px; top: 0px;"></li>
    <li style="width: 10px; top: 5643px;"></li>
    <li style="width: 10px; top: 56px;"></li>
</ul>

希望这会对你有所帮助。

答案 4 :(得分:0)

您应该在if语句中使用compare运算符(==)。