我需要允许我的用户动态创建新类别,然后在类别中创建分支和子分支。为了方便起见,我构建了一个包含多个嵌套表的html表。每个嵌套表都由自己的div包围。基本类别显示在左侧,分支和子分支显示在右侧。
为了允许用户创建分支,我在javascript函数中调用jquery clone()。像这样:
gitkit_instance.VerifyGitkitToken
这将创建请求的克隆并将其放在正确的表中。但我还没有发现如何访问克隆的属性来编辑它们。
在此功能的上一次迭代中,我从document.ready()中调用了jquery clone()。
function elementCopy(targetTable, targetDiv)
{
var clone = $('.' + targetTable).clone(true).appendTo($("." + targetDiv));
}
我放弃了这个迭代,因为我无法将参数发送到document.ready()版本。没有这些参数,我无法将克隆定位在其正确的表和子表中。但是,此版本的DID允许我编辑克隆的属性。
此行编辑具有相同类名的所有元素:
$('button[name="newTasks"]').click(function()
{
//Create the cloned block and keep the event listener so the newly displayed plus icon
// also creates a new block.
var clone = $(".tasksTable").eq(0).clone(true).appendTo(".tasksDiv");
//
clone.find( ".tasksTable" ).attr('name', 'Tasks' + '_' + countTaskBlocks);
});
如何编辑在“elementCopy”函数调用中创建的特定克隆的“name”,“id”和“class”属性?
答案 0 :(得分:1)
JQuery方法是可链接的,所以你可以这样做。
function elementCopy( targetTable, targetDiv ) {
var clone = $( '.' + targetTable )
.clone( true )
.appendTo( $( "." + targetDiv ) )
.attr( {
'name': 'Tasks' + '_' + countTaskBlocks,
'id': 'Tasks' + '_' + countTaskBlocks,
'class': 'Tasks' + '_' + countTaskBlocks
} );
return clone;
}
查看下面的演示。
$('a').clone( true ).appendTo( $('body') ).attr( { 'class': 'Goodbye', 'href': 'http://www.example.com' } );

a::before { margin-right: .5em; content: attr(href); } a::after { margin-left: .5em; content: attr(class); }

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a class="hello" href="#">Link</a>
&#13;
答案 1 :(得分:-1)
通过您克隆的元素的类名搜索附加克隆的DIV的子项。