我需要一些帮助。 我在div中有一些数据。我设法从每个div中提取数据并从中提取下拉列表。 现在,某些元素(示例中的类.change)应该替换为那些下拉列表,并且在那里我纠缠在.each函数中。怎么解决?
// convert data from div to dropdown
$('.wrap').each(function () {
var $select = $('<select />');
$(this).find('.answer').each(function () {
var $option = $('<option />');
$option.attr('value', $(this).next().html()).html($(this).html());
$select.append($option);
});
$(this).replaceWith($select);
// replace .change with dropdown
$(".change").each(function () {
$(this).replaceWith($select);
});
});
答案 0 :(得分:0)
问题是您尝试使用每个.change
创建的下拉列表填充每个.wrap
,而您只想更改下一个{。}}。
// convert data from div to dropdown
$('.wrap').each(function () {
var $select = $('<select />');
$(this).find('.answer').each(function () {
var $option = $('<option />');
$option.attr('value', $(this).next().html()).html($(this).html());
$select.append($option);
});
// remove old unneeded div
$(this).remove();
// replace first .change with dropdown
$(".change:first").replaceWith($select);
});