簡體   English   中英

Jquery 如何在未在列表中指定事件的情況下觸發 function

[英]Jquery How to trigger function on without specifying events in the list

我有一個項目列表,可以通過單擊刪除。

只有當列表中有一個項目時,我才需要第一個項目成為亮點。 我試圖通過點擊事件來做到這一點。 但是,沒有.click() 可以做到嗎? (或任何其他事件)。 原因是該列表與其他列表動態交互,列表項可能會被其他函數更改。

換句話說,列表是動態變化的,jquery 是否可以一直檢查列表中是否只有一項(不指定具體事件觸發)?

<ul id="container">
<li>1</li>
<li class="fixed">2</li>
<li>3</li>
<li class="fixed">4</li>
<li>5</li>
</ul>

$('#container').delegate('li', 'click', function() {
  $(this).remove();
});


$('#container').click(function(){
  if ($('#container').children().length == 1) {
    $("#container li:first-child" ).css( "background-color", "#fff2ac" );
  }
}

您可以純粹使用 CSS 執行此操作,並使用一條規則檢查li是否既是:first-child又是:last-child -

 .container li:first-child:last-child { background-color: red; }
 <h5>List With Many Items</h5> <ul class="container"> <li>1</li> <li class="fixed">2</li> <li>3</li> <li class="fixed">4</li> <li>5</li> </ul> <h5>List With One Item</h5> <ul class="container"> <li>1</li> </ul> <h5>List With Two Items</h5> <ul class="container"> <li>1</li> <li class="fixed">2</li> </ul>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM