2009-11-24 27 views
24

Đối với một đánh dấu nhưThêm một cái gì đó sau khi các yếu tố "n" sử dụng jQuery

<div id="holder"> 
    <div>div 1</div> 
    <div>div 2</div> 
    <div>div 3</div> 
    <div>div 4</div> 
</div> 

làm thế nào để thêm một số đánh dấu sau DIV thứ hai ví dụ?

Cảm ơn,
Titel

+9

Hãy nhớ rằng eq() bắt đầu bằng 0 và thứ n-con() bắt đầu từ 1 hoặc bạn sẽ trở nên rất tức giận. – Nosredna

Trả lời

1

$("#holder div:eq(1)") sẽ chọn div con thứ hai của số #holder div. (:eq() selector info). Sau đó, sử dụng chức năng .after() để thêm nội dung.

12

sử dụng :eq(index) hoặc :nth-child(index/even/odd/equation) chọn kết hợp với append(content) hoặc after(content) chức năng.

ví dụ, giả sử mã này:

<div id="holder"> 
    <div>div 1</div> 
    <div>div 2</div> 
    <div>div 3</div> 
    <div>div 4</div> 
</div>
sử dụng thêm như
$("#holder>div:eq(1)").append("<div>inserted div</div>");
này hoặc
$("#holder>div:nth-child(2)").append("<div>inserted div</div>");
này sẽ cung cấp cho bạn

<div id="holder"> 
    <div>div 1</div> 
    <div>div 2<div>inserted div</div></div> 
    <div>div 3</div> 
    <div>div 4</div> 
</div>
khi sử dụng sau như
$("#holder>div:eq(1)").after("<div>inserted div</div>");
này hoặc
$("#holder>div:nth-child(2)").after("<div>inserted div</div>");
này sẽ cung cấp cho bạn

<div id="holder"> 
    <div>div 1</div> 
    <div>div 2</div> 
    <div>inserted div</div> 
    <div>div 3</div> 
    <div>div 4</div> 
</div>

sử dụng: thứ n-con có thể hữu ích vì nó cho phép bạn đặt nội dung theo số lượng n thành phần. cũng, chỉ số của: nth-đứa trẻ bắt đầu tại 1 trong khi chỉ số của: eq bắt đầu từ 0

ví dụ, sử dụng

$("#holder>div:nth-child(2n)").after("<div>inserted div</div>");
sẽ cung cấp cho bạn

<div id="holder"> 
    <div>div 1</div> 
    <div>div 2</div> 
    <div>inserted div</div> 
    <div>div 3</div> 
    <div>div 4</div> 
    <div>inserted div</div> 
</div>

+0

rất rõ ràng! Không thể làm tốt hơn! Cảm ơn rất nhiều –

0

sử dụng này

$("ul li:nth-child(4n)").add('ul li:last').after("<div style='clear:both;'>&nbsp;</div>"); 
0

Thử như thế này:

$("#holder > div:nth-child(2n)").after("<div>insert here</div>"); 

Nó sẽ chèn <div>insert here</div> sau mỗi hàng 2:

$("#holder > div:nth-child(2)").after("<div>insert here</div>"); 
Các vấn đề liên quan