Javascript 使用jquery克隆选择菜单?
我有一个由jNice插件设计的简单选择菜单 我编写了一个简单的jquery来克隆选择菜单和删除克隆菜单Javascript 使用jquery克隆选择菜单?,javascript,jquery,jquery-plugins,jquery-selectors,Javascript,Jquery,Jquery Plugins,Jquery Selectors,我有一个由jNice插件设计的简单选择菜单 我编写了一个简单的jquery来克隆选择菜单和删除克隆菜单 $(function() { var scntDiv = $('#p_scents'); var i = $('#p_scents p').size() + 1; $('#addScnt').live('click', function() { $('<p class="sel-a"><select name="lang[]" id="p_scnt'
$(function() {
var scntDiv = $('#p_scents');
var i = $('#p_scents p').size() + 1;
$('#addScnt').live('click', function() {
$('<p class="sel-a"><select name="lang[]" id="p_scnt' + i +'" class="lang"><option value="">Select Language</option><option value="slovenski">Slovenski</option></select><a id="remScnt">Remove</a></p>').appendTo('#LangForm');
i++;
return false;
});
});
$(函数(){
var scntDiv=$('p#u scents');
变量i=$('#p#p').size()+1;
$('#addScnt').live('click',function()){
$(“选择语言Slovenskiremove
”).appendTo(“#LangForm”);
i++;
返回false;
});
});
它的工作很好,但有一个小问题,它不采取相同的CSS格式
我尝试了很多东西,甚至在阅读了CSS文件之后,我发现没有选择菜单的类,这完全是由jNice插件完成的
我需要知道这个问题是否有解决方案
谢谢了解jNice插件正在创建和更改的选择菜单的类:
$('<p class="sel-a"><select name="lang[]" id="p_scnt' + i +'" class="lang"><option value="">Select Language</option><option value="slovenski">Slovenski</option></select><a id="remScnt">Remove</a></p>').appendTo('#LangForm');
这将完全复制jNice创建的选择菜单。您可以保持所有其他逻辑相同。我不知道您为什么要这样做,但如果您有对select元素的引用,则可以执行以下操作:
select.parentNode.replaceChild(select.cloneNode(true), select);
我想知道为什么人们复制/粘贴正确的缩进代码如此困难…我的意思是我所做的只是在VIM中复制/粘贴,选择all并按
=
。5秒内完成!您可能需要将插件应用于新创建的菜单(顺便说一句,它不是任何东西的克隆)。另外,.live
从jQuery 1开始就不推荐使用。7@MrOBrian对不起,我没抓住你?哪一部分?您正在创建的新元素只是一个新元素,而不是克隆某些东西。如果要克隆某些内容,请使用.clone()
。当您创建要应用插件的新元素时,请在新元素上调用插件,就像在文档.ready
函数中所做的那样。此外,id是唯一的,DOM中不能有多个具有相同id的元素。如果.size()
不推荐使用,则应改用.length
select.parentNode.replaceChild(select.cloneNode(true), select);