gpt4 book ai didi

javascript - jQuery 返回 prevObject....有时

转载 作者:行者123 更新时间:2023-11-30 17:00:53 25 4
gpt4 key购买 nike

我正在尝试使用 jQuery 从 DOM 中删除一个项目,有时会得到一个 prevObject 而不是一个元素。我知道当没有找到元素时返回 prevObject,如解释的那样 here

我创建了一个单页应用程序,它以两种不同的方式向播放列表添加元素,一种是通过拖放,另一种是通过按下按钮。两种方式调用相同的函数,传递相关信息。

当我单击已被拖放的元素的删除按钮时,它已成功删除,但通过该按钮添加到播放列表的任何项目都不会删除,因为 jQuery 返回了 prevObject。

项目can be found here如果你需要好好看看。

HTML(来自 chrome 开发工具)

顶部项目已被拖放,第二个项目通过按钮拖放。

<aside class="col-sm-12 ui-sortable" id="sortable">
<article class="dropped" id="2">
<img src="http://img.youtube.com/vi/gnbLLQwZxeA/mqdefault.jpg" alt="Put social back in social media">
<h3>Put social back in social media</h3>
<div class="clearfix"></div>
<a href="#" title="Remove item" id="remove2"><i class="fa fa-minus-circle"></i></a>
</article>
<article class="dropped" id="3">
<img src="http://img.youtube.com/vi/ccFLVPNBRE4/mqdefault.jpg" alt="jQuery Performance Myths and Realities">
<h3>jQuery Performance Myths and Realities</h3>
<div class="clearfix"></div>
<a href="#" title="Remove item" id="remove3"><i class="fa fa-minus-circle"></i></a></article>
// more items here
</aside>

将项目添加到播放列表的功能

var addToPlayList = function(title, image, id){
var playlistItem = '';
playlistItem += '<article class="dropped" id="' + id + '">';
playlistItem += '<img src="' + image + '" alt="' + title + '">';
playlistItem += '<h3>' + title + '</h3>';
playlistItem += '<div class="clearfix"></div>';
playlistItem += '<a href="#" title="Remove item" id="remove' + id +'"><i class="fa fa-minus-circle"></i></a>';
playlistItem += '</article>';

$(playlistItem).insertBefore('.droppable');

$('.playlist #remove' + id).click(function(ev) {
removePlaylistItem(id);
});
fixClearfix();
}

从播放列表中删除项目的函数

var removePlaylistItem = function(id){
var itemToRemove = $('aside article#' + id);
console.log(itemToRemove); // returns prev object for items added by button
itemToRemove.remove();

var video = findVideoByID(id);
displayVideo(video, id);
fixClearfix();
}

非常感谢任何帮助

最佳答案

如果您完全指定了您的 jQuery 选择器,(即将 'aside article#' + id 更改为 'aside article[id=' + id + ']'它应该工作。

我注意到的另一个问题是,当拖动视频时,它们会从主列表中删除。通过按钮添加它们时,它们不是。

关于javascript - jQuery 返回 prevObject....有时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28889921/

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