Jquery 删除后如何向新LI添加属性
我有两份清单:Jquery 删除后如何向新LI添加属性,jquery,jquery-ui,clone,jquery-ui-sortable,jquery-ui-draggable,Jquery,Jquery Ui,Clone,Jquery Ui Sortable,Jquery Ui Draggable,我有两份清单: <h3>Available page layouts</h3> <ul id="pagepool" class="connectedSortable"> <li id="I1" class="ui-state-default"></li> <li id="I2" class="ui-state-default"></li> <li id="I3" class="ui
<h3>Available page layouts</h3>
<ul id="pagepool" class="connectedSortable">
<li id="I1" class="ui-state-default"></li>
<li id="I2" class="ui-state-default"></li>
<li id="I3" class="ui-state-default"></li>
<li id="I4" class="ui-state-default"></li>
<li id="I5" class="ui-state-default"></li>
</ul>
<h3>Document structure</h3>
<ul id="docstruct" class="connectedSortable"></ul>
不知道为什么会这样,但我发现了 在接收事件中,您无法访问在可排序列表中创建的实际项目。助手指向仅用于拖动的克隆,项是您单击要拖动的原始项 但是,beforeStop事件正好在receive事件之前激发。在beforeStop中,该项实际上是列表中的项。因此,在beforeStop中,您可以保存项目,然后在receive中使用它
此处演示:首先,HTML中没有两个元素可以共享相同的ID。在前面,这将破坏几乎所有内容。其次,MD5的要点是什么?同意Adam的观点-我认为可排序/可拖动插件最有可能使用ID来定位元素,因此为什么选择了错误的元素。能否为每个li使用不同于id的属性?HTML5提供了一个数据{something}属性来保存像Adam和wows的id.+1这样的东西。另外,您不应该使用'rel'属性,据我所知,它仅对'a'和'link'标记有效。使用ui.item.datahash之类的东西,而不是数据。那么简单吧?!将ID移到课堂上,它工作正常,谢谢!md5的原因是我在这里设置了一个文档大纲;每个页面都有一个关联的记录对象,其中包含字段数据,这些数据最终将与哈希一起存储在数据库中。我需要一些方法来确定新创建的网页在未来,以方便排序顺序更新等
$( "#pagepool li" ).draggable({
connectToSortable: '#docstruct',
helper: 'clone',
revert: 'invalid',
opacity: '.7'
});
$( "#docstruct" ).sortable({
placeholder: "ui-state-highlight",
revert: true,
receive: function(event, ui) {
$.get('ajax/uniqid.php', function(data){ui.item.attr('rel', data)})
}
});