1

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);
}

我想将 li 的宽度与 if(top = '0px') 相加,但这是行不通的,请帮帮我

4

5 回答 5

1

To loop each list item and check top value, you should try:

$(function(){

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

});

See JsFiddle

于 2013-09-17T07:17:57.607 回答
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>

希望这会帮助你。

于 2013-09-17T07:10:33.403 回答
0

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

于 2013-09-17T07:13:57.560 回答
0

在 li 的样式标签中指定 width:10px。不是宽度10px

于 2013-09-17T07:07:52.343 回答
0

你可以这样做:

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

alert(wT);

这是演示JSFiddle

于 2013-09-17T07:08:03.723 回答