2
我將多個li收集到一個對象中進行分頁。爲多個.add提供更好的可讀性,其中包含.eq
var li = $(this).find('li');
if(li.length > 15) {
var activeId = li.filter('.active').index();
li.eq(0)
.add(li.eq(1))
.add(li.eq(2))
.add(li.eq(-1))
.add(li.eq(-2))
.add(li.eq(-3))
.add(li.eq(activeId))
.add(li.eq(activeId-1))
.add(li.eq(activeId-2))
.add(li.eq(activeId-3))
.add(li.eq(activeId+1))
.add(li.eq(activeId+2))
.add(li.eq(activeId+3))
.addClass('dosomething');
li.each(function() {
// do something...
});
}
HTML例如:
<ul>
<li><a href="#…">1</a></li>
<li class="active"><a href="#…">2</a></li>
<li><a href="#…">3</a></li>
<li><a href="#…">4</a></li>
<li><a href="#…">5</a></li>
...
<li><a href="#…">16</a></li>
</ul>
但是,這看起來很簡單的,而不是非常高性能和可讀性。所以我正在尋找一種方法來編寫更具可讀性的代碼。
您添加的HTML並不能解釋太多 - 總體上您的問題還不清楚,請嘗試添加更多關於您實際上的內容的詳細信息。 –
我只需要它們在一個對象中,以不同的方式顯示它們。我不能改變下面的代碼,我只能改變li對象的收集。 – Coli
:D好的,但你能解釋一下你需要收集的所有元素嗎?哪些和哪些你不需要收集。 –