Làm thế nào tôi có thể thêm một yếu tố sau một yếu tố khác?


174

Tôi có một hộp văn bản nhất định và tôi muốn thêm một div sau nó. Tôi đã thử .append()chức năng này, nhưng điều đó chỉ thêm div trong phần tử.

Ví dụ: tôi có:

<input type="text" id="bla" />

và tôi muốn thay đổi điều đó thành:

<input type="text" id="bla" /><div id="space"></div>

Câu trả lời:


287

thử sử dụng after()phương pháp:

$('#bla').after('<div id="space"></div>');

Tài liệu


8
Các phương thức .after () và .insertAfter () thực hiện cùng một nhiệm vụ.
Rifat

7
Điều đó đúng, nhưng nó phụ thuộc vào cách bạn muốn viết mã. Thông thường tôi đã chọn đầu vào '#bla' rồi thêm nội dung bổ sung sau đó. Hoàn toàn là sở thích của tôi, tôi không chắc liệu một trong hai phương pháp có lợi ích về tốc độ hay không.
Rowan

37

thử

.insertAfter()

đây

$(content).insertAfter('#bla');

17
Không phải mã của bạn sẽ giống $('<div id="space"></div>').insertAfter('#bla')hơn chứ $('#bla').insertAfter(content);?
Rowan

6

Trước hết, inputphần tử không nên có thẻ đóng (từ http://www.w3.org/TR/html401/interact/forms.html#edef-INPUT : Thẻ kết thúc: bị cấm).

Điều thứ hai, bạn cần after(), không phải append()chức năng.


Đúng, nhưng đó là những gì xảy ra khi tôi thử hàm .append ().
skerit

2
Nếu đó là XHTML thì phần tử đầu vào sẽ được đóng (nhưng không phải bằng thẻ kết thúc).
CiscoIPPhone

2
Trong HTML4 <input>không nên đóng.
Derek 朕 會

1

Đã giải quyết jQuery: Thêm phần tử sau phần tử khác

<script>
$( "p" ).append( "<strong>Hello</strong>" );
</script>

HOẶC LÀ

<script type="text/javascript"> 
jQuery(document).ready(function(){
jQuery ( ".sidebar_cart" ) .append( "<a href='http://#'>Continue Shopping</a>" );
});
</script>

2
Điều này là không đúng. Điều này nối thêm phần tử trong phần tử cha, giống như OP đã nêu. Cân nhắc đọc lại câu hỏi và xem lại câu trả lời của bạn.
Evan Wieland
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.