Как получить div в этом коде? - PullRequest
0 голосов
/ 15 декабря 2008

Как мне получить div из этого (последнего) элемента списка?

В настоящее время у меня есть это, что просто уродливо ... какие-либо предложения по более чистому селектору / решению?

var div = ul.append("<li><div></div></li>").contents("li:last-child")[0].children[0];

Спасибо!

Ответы [ 9 ]

2 голосов
/ 15 декабря 2008

Вы также можете добавить немного по-другому:

var div = $('<div/>'); 
// do whatever you need to do with the div
$('<li/>').appendTo(ul).append(div);
1 голос
/ 15 декабря 2008

Использование массива-индекса возвращает только объект HTMLElement и, таким образом, удаляет множество полезных функций jQuery, поэтому будьте осторожны с этим. Я хотел бы подойти к этому так:

var div = $("<div/>").appendTo($("<li/>").appendTo(ul));

От самого внутреннего к внешнему, это создает элемент списка, добавляет его в ваш список, создает div, добавляет его к вашему новому элементу списка и возвращает div, все еще завернутый в jQuery. Если хотите, вы можете добавить индекс массива, чтобы получить только HTMLElement:

var div = $("<div/>").appendTo($("<li/>").appendTo(ul))[0];
0 голосов
/ 15 декабря 2008

Мое решение:

var div = ul.append("<li><div></div></li>").find("div:last");
0 голосов
/ 15 декабря 2008
var div = ul.append("<li><div></div></li>").find('div').get(0);

Я думаю, это то, что вы ищете.

0 голосов
/ 15 декабря 2008

только для полноты:

var div = $('<div></div>').appendTo($("<li></li>").appendTo(ul));
0 голосов
/ 15 декабря 2008

Как насчет этого:

 var div = $('<li><div/></li>').appendTo(ul).find('div');
0 голосов
/ 15 декабря 2008

Это, я думаю:

var div = ul.append('<li><div></div></li>').find("li:last div");
0 голосов
/ 15 декабря 2008

Что по этому поводу:

ul.append("<li><div></div></li>").contents("li:last-child > div").get(0);
0 голосов
/ 15 декабря 2008

Как это?

var div = ul.append("<li><div></div></li>").contents("li:last-child > div")[0];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...