我有两个列表.album和.favorites
首先,我使用此each()
循环来比较.album项目与.favorites
当.album列表中有一个喜欢的副本时,我会添加一个喜欢的图标。
$(".album li").each(function(index) {
var itemSrc = $(this).find("img").attr("src");
if ( $(".favorites li img[src*='" + itemSrc + "']").length > 0 ) {
$(this).append('<span class="favorite"><\/span>');
}
});
现在我切换到稍后加载收藏夹的方法,所以我需要使用$get()
将加载的数据与我的.album项目进行比较
$.get("ajax-load-favorites.php", {}, function(data) {
// console.log(data);
$(".album li").each(function(index) {
var itemSrc = $(this).find("img").attr("src");
/* compare with data here */
});
});
ajax-load-favorites.php返回:
<li><img src="http://mysite.com/album/tn/006.jpg" /></li>
<li><img src="http://mysite.com/album/tn/003.jpg" /></li>
<li><img src="http://mysite.com/album/tn/010.jpg" /></li>
答案 0 :(得分:0)
$.get("ajax-load-favorites.php", {}, function(data) {
// console.log(data);
$("li", data).each(function(index) {
var itemSrc = $(this).find("img").attr("src");
if ( $(".favorites li img[src*='" + itemSrc + "']").length > 0 ) {
$(this).append('<span class="favorite"><\/span>');
}
});
});
它基本相同,只需修改选择器即可搜索加载ajax的数据。
答案 1 :(得分:0)
简单的字符串搜索可以解决您的问题:
$.get("ajax-load-favorites.php", {}, function(data) {
// console.log(data);
$(".album li").each(function(index) {
var itemSrc = $(this).find("img").attr("src");
if (data.indexOf(itemSrc) != -1) {
$(this).append('<span class="favorite"><\/span>');
}
});
});