jQuery: как создать новый div
, назначить некоторые атрибуты и создать идентификатор из другого атрибуты элементов?
Как я могу это сделать. То, что я пробовал ниже, не работает, и я не знаю, как заставить его работать.
Что я пытаюсь сделать, так это создать div
и присвоить ему некоторые атрибуты, а затем добавить этот div
ко всем элементам ‹ li >, которые находятся в последнем узле моего неупорядоченного списка. И последнее, но самое важное, я хочу получить значение атрибута с именем «p_node» из добавляемого ‹ li > и вставить его как часть идентификатора только что созданного div
.
Вот мой текущий код jQuery:
$('<div />,{id:"'+ $("#nav li:not(:has(li))").attr("p_node").val() +'_p_cont_div", class:"property_position"}').appendTo("#nav li:not(:has(li))");
Вот HTML до создания div
:
<ul>
<li p_node="98" class="page_name">Category A</li>
</ul>
<ul>
<li p_node="99" class="page_name">Category B</li>
</ul>
Вот как я хочу, чтобы это выглядело после создания нового div
:
<ul>
<li p_node="98" class="page_name">Category A</li>
<div id="98_p_cont_div" class="property_position"></div>
</ul>
<ul>
<li p_node="99" class="page_name">Category B</li>
<div id="99_p_cont_div" class="property_position"></div>
</ul>
Обновить
Это работает:
$("#nav li:not(:has(li))").each(function () {
var self = $(this);
p_node = self.attr(\'p_node\');
self.after("<div class=\'property_position\' />");
});
Это не работает:
$("#nav li:not(:has(li))").each(function () {
var self = $(this);
p_node = self.attr(\'p_node\');
self.after("<div id=\'" + p_node + "\' class=\'property_position\' />");
});
Это также не работает:
$("#nav li:not(:has(li))").each(function () {
var self = $(this);
p_node = self.attr(\'p_node\');
self.after("<div class=\'property_position\' />");
$("li>div").attr("id",p_node);
});
self.after( \'<div id="\' + self.attr(\'p_node\') + \'_p_cont_div" class="property_position">Something</div> \' );
26.03.2010