Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jquery克隆选择菜单?_Javascript_Jquery_Jquery Plugins_Jquery Selectors - Fatal编程技术网

Javascript 使用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'

我有一个由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' + 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);