2010-05-05 8 views
9

jQuery를 사용하여 하위 요소의 특정 색인에 요소를 추가하려면 어떻게합니까? 예 : 내가 가지고있는 경우 :jQuery 특정 div 추가

<div class=".container"> 
    <div class="item"><div> 
    <div class="item"><div> 
    <div class="item"><div> 
    <div class="item"><div> 
</div> 

두 번째와 세 번째 항목 사이에 다른 항목을 추가하고 싶습니까?

+5

아마도'클래스 = ". 컨테이너"는 오타입니다? 클래스 이름에는'.'을 사용하는 것이 좋지만, 일반적으로하고 싶은 것은 아닙니다. – bobince

답변

19

이 몇 가지 옵션이 있습니다 :

$("div.container div.item").eq(2).after($('your html')); 

$("div.container div.item:nth-child(3)").after($('your html')); 

$($("div.container div.item")[2]).after($('your html')); 

같은 옵션이 있지만, "전에"를 사용하여 같은 위치에 삽입 :

$("div.container div.item").eq(3).before($('your html')); 

$("div.container div.item:nth-child(4)").before($('your html')); 

$($("div.container div.item")[3]).before($('your html')); 
+1

+ CSS 표준이 아닌 (따라서 효율성이 떨어지는)': eq' 선택자 대신에'eq()'메소드를 +1하십시오. 그러나': nth-child'와 조심하십시오. 'eq()'와 그 밖의 대부분과는 달리, 그것의 인덱스는 1 기반 (argh)입니다. – bobince

+0

남자 나는 이것을 항상 잊는다. 머리를 주셔서 감사합니다! – user875139

4

("div.container div.item:eq(1)").after("<element to insert>")

-1
$('.container').children()[1].append('whatever'); 
+1

[1]이 (가) 함수 'append()'에 대해 모르는 네이티브 DOM 객체를 반환하기 때문에이 기능이 작동하지 않습니다. – jAndy

+2

jQuery 질문을 피해야합니다. –