2012-02-14 20 views
12

Tôi muốn nối thêm phần tử html vào div và có jquery trả lại cho tôi bộ bọc có chứa phần tử tôi vừa nối và không được bọc thiết chứa divNhận jquery's .append() để trả lại tập bọc có chứa đối tượng được thêm vào không phải là vùng chứa

Vì vậy html của tôi: -

... 

<div id="somediv">Some other elements...</div> 

... 

javascript: -

var jqueryObj = $('#somediv').append('<p>Hello, World!</p>'); 

alert(jqueryObj.html()); 

tôi muốn này để cảnh báo cho tôi với 'Hello, world' không 'Some other elements...<p>Hello, World!</p>'

+0

bạn sẽ phải lưu nội dung html trước khi bạn thêm nội dung mới và sau khi thêm xóa nội dung bạn đã lưu từ nội dung mới. Nhưng tại sao bạn không chỉ đơn giản là lưu giá trị của những gì bạn đang phụ thêm vào một biến và sử dụng phương thức .text()? –

+0

Xin lỗi, đây là một trường hợp thử nghiệm mà tôi thiết lập - Tôi không thực sự muốn văn bản của đoạn chứa, tôi muốn áp dụng hộp thoại jquery ui cho đối tượng jquery – rgvcorley

Trả lời

24

Sử dụng .appendTo() thay vì .append().

var jqueryObj = $('<p>Hello, World!</p>').appendTo('#somediv'); 
alert(jqueryObj.html()); // '<p>Hello, World!</p>' 
+2

Woah! bài đăng đầu tiên của tôi cho SO, tôi không biết tốc độ phản hồi nhanh như thế nào !! Tuyệt vời :) – rgvcorley

0
var jqueryObj = $('#somediv').append('<p>Hello, World!</p>'); 

alert(jqueryObj.find("p").html()); 
3

Chuyển chúng xung quanh, và sử dụng các chức năng .appendTo(). Cũng giống như vậy:

var jqueryObj = $('<p>Hello, World!</p>').appendTo('#somediv'); 

Working DEMO

+0

Tuyệt vời, cảm ơn! Tôi sẽ cung cấp cho bạn một +1 nhưng tôi chưa có 15 danh tiếng! – rgvcorley

0

Hãy thử điều này:

var jqueryObj= $('<p>Hello, world!</p>'); 
$('#somediv').append(jqueryObj); 

alert(jqueryObj.html()); 

Những gì bạn muốn là biến để thực sự giữ đối tượng mới được tạo ra, chứ không phải div vào mà bạn đã thêm nó.

Các vấn đề liên quan