2013-08-26 2 views
1

나는 여러개의 "li"을 각각 다른 문자열로 검색해야하며, 모든 조건을 만족하면 링크를 추가합니다 마지막 하나만multiple : contains(), 단 하나의 append() 만 있습니다.

각 li에 특정 단어가 있는지 알아 보려면 jQuery :contains()을 사용하고 있으며 여러 조건에 따라 li의 모든 부분에 .append()을 만들 수는 있지만 마지막 li에만 추가해야합니다. .

어떻게 작동합니까?

$('li#1:contains("x"),li#2:contains("y")').append('z'); 

이 나 있습니다 : 나는 그것을 사용하는 모든에 추가 할 수 있습니다

I가 필요
xz 
yz 

만 줘 :

x 
yz 
+0

그래서 .last() 메소드를 사용 하시겠습니까? 또는 심지어 .eq (-1)'? –

+0

ID가 '1'인 'li'이 여러 개 있습니까? – tymeJV

+1

+1 @KevinB뿐만 아니라 ID 선택자 앞에서'li' 자격을 떨어 뜨립니다. – PlantTheIdea

답변

0
당신은 "다음"사용할 수 있습니다

:

$(document).ready(function(){ 
    var target = $('li#1:contains("x")').next('li#2:contains("y")'); 
    if (target){ 
     target.append('z'); 
    } 
    //$('li#1:contains("x")').next('li#2:contains("y")').last().append('z'); 
}); 

바이올린 : http://jsfiddle.net/vuWuD/3/

편집 : 주소 설명으로 업데이트되었습니다.

+0

나는 이것을 좋아하지만 "and"자격에 근거하지는 않는다. 내가 당신의 jsfiddle을 가져다가 li # 1 "z"를 만들면, 그것은하지 않아도 여전히 두번째 것에 덧붙입니다. 두 조건이 모두 충족되는 경우에만 어떻게 작동하게합니까? – user2719275

+0

좋은 지적. 내 대답을 업데이트하여 "다음"대신 사용합니다. – htxryan

+0

감사합니다. 그것은 훌륭하게 작동합니다. – user2719275

관련 문제