Подтвердить что ты не робот

Получите jquery.append(), чтобы вернуть завернутый набор, содержащий добавленный объект, а не контейнер

Я хочу добавить элемент html в div и иметь jquery, возвратить мне завернутый набор, содержащий только что добавленный элемент, а не завернутый набор, содержащий div

Итак, мой html: -

...

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

...

JavaScript: -

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

alert(jqueryObj.html());

Мне бы хотелось, чтобы это предупредило меня с 'Hello, world' not 'Some other elements...<p>Hello, World!</p>'

4b9b3361

Ответ 1

Используйте .appendTo() вместо .append().

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

Ответ 2

Переключите их и используйте .appendTo(). Например:

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

Рабочая DEMO

Ответ 3

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

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

Ответ 4

Попробуйте следующее:

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

alert(jqueryObj.html());

То, что вы хотите, это переменная, которая фактически удерживает вновь созданный объект, а не div, в который вы его добавили.