2016-02-08 136 views
0

每次單擊「.parent」時,我都試圖在一個「li」元素上實現效果。但它會一次處理所有的li元素。 我要的是,當我觸發點擊.parent第一李應突出,那麼我第二次觸發click事件,父李二突出等 HTML:如何在JQuery中單擊其父元素時定位每個子元素

<div class="parent"> 
    <ul> 
    <li>1</li> 
    <li>2</li> 
    <li>3</li> 
    </ul> 
</div> 

JQuery的:

$('.parent').on('click', function(){ 
    $('li').addclass('true'); 
}); 
+0

每個新增CSS =每一個。想達到什麼目的?在不使用單詞'each'和'every'的情況下解釋它。 – Michael

+0

每次點擊'.parent'時,我想在'li'上實現css()更改。 –

+0

哪一個「李」? – Michael

回答

2

編輯完全不同的問題:

$('.parent').on('click', function(evt) { 
 
    $(evt.target).find('li:not(.true)').first().addClass('true'); 
 
});
.true { 
 
    background-color: red; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="parent"> 
 
    <ul> 
 
    <li>1</li> 
 
    <li>2</li> 
 
    <li>3</li> 
 
    </ul> 
 
</div>

+0

我希望它每次處理每個「li」元素點擊.parent –

+0

因爲我使用$(.target)函數停止工作。並且我想要定位所有li元素,但每次在父級觸發click事件時只有一個元素。 –

+0

我從來沒有寫過'$(.target)'。由於我的例子是可執行文件,因此您可以直接驗證代碼是否完全按照您的說法進行操作。 – Amadan

0

嘗試了這一點

樣式表

<style> 
    .true{color:red;border:1px solid red;} 
</style> 

jQuery代碼

$(document).on('click','.parent',function(){ 
    $(this).find('ul li').addClass('true'); 
}); 

,或者你可以動態使用jQuery的CSS功能類似下面

$(document).on('click','.parent',function(){ 
    $(this).find('ul li').css({'color':'red','border':'1px solid red'}); 
}); 
相關問題