gpt4 book ai didi

javascript - 如何使用 jQuery 检查 ul 是否具有特定的 li?

转载 作者:行者123 更新时间:2023-11-28 05:22:24 24 4
gpt4 key购买 nike

我正在处理两个 ul 列表。我需要的是如果有人点击 list1 中的列表项,它会检查第二个列表是否包含被点击的元素。如果它不包含该元素,则复制它,否则直接返回。

到目前为止,我所做的是在列表之间成功移动元素,但如果我对其进行检查,一切都会停止。

这里是jsfiddle的链接.

$().ready(function() {
var classHighlight = 'highlight';
var $thumbs = $('ul li').on("click", function(e) {
//e.preventDefault();
debugger;
$thumbs.removeClass(classHighlight);
$(this).addClass(classHighlight);
});
$('#select1').on("dblclick", "li", function() {
//if($("#select2").has($(this))
//return;
//else
$(this).clone().appendTo('#select2').removeClass('highlight');
});
$('#select2').on("dblclick", "li", function() {
$(this).remove();
});
$('#add').click(function() {
$('#select1.highlight').clone().appendTo('#select2').removeClass(classHighlight);
});
$('#remove').click(function() {
$('#select2.highlight').remove();
});
});

如果您取消注释代码中的上述行,一切都会停止。任何人都可以帮我解决这个问题吗?

谢谢

最佳答案

试试这个检查:

var check = function(li) {
return $("#select2 li").filter(function(i, li2) {
return $(li2).text() == $(li).text();
}).length > 0;
};

Demo

当您使用 clone() 时,您无法使用 is() 比较新的克隆元素或 has()与原始元素一样,因为它是一个新元素,所以不一样,如 clone 的文档中所述:

Create a deep copy of the set of matched elements

所以这是一个副本。

关于javascript - 如何使用 jQuery 检查 ul 是否具有特定的 li?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37070807/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com