javascript – Jquery检查是否具有id = x的li已经存在于ul中
作者:互联网
我和李有很多UL.不同的UL将具有相同ID的li:
<ul>
<li id='1'>this</li>
<li id='2'>that</li>
</ul>
<ul>
<li id='1'>this</li>
</ul>
用户可以将li从列表拖到另一个列表,但前提是不存在具有相同id的li.到目前为止我有这个:
$(".container").droppable({
drop: function (event, ui) {
var a = $(this).find("li").attr("id", $(ui.draggable).attr('id'));
if (a.length == 0) {
$.ajax({
...
});
}
}
});
但是当我删除draggable时,它会将所有li的id更改为删除的li的值.
任何指导都会很棒.谢谢.
解决方法:
通过使用attr(),您实际上设置了find()调用匹配的任何元素的id属性.您应该在匹配的ID上使用find.
$(".container").droppable({
drop: function (event, ui) {
var a = $(this).find("#" + $(ui.draggable).attr('id'));
if (a.length === 0) {
$.ajax({
...
});
}
}
});
另外,正如@Diodeus所提到的,ID不应该以数字开头.它们在文档范围内也应该是唯一的,因此如果您需要重复/期望ID,我建议使用其他属性,例如HTML5数据属性:http://ejohn.org/blog/html-5-data-attributes/
标签:javascript,jquery-selectors,jquery-ui,drag-and-drop,jquery-ui-draggable 来源: https://codeday.me/bug/20190610/1211130.html