gpt4 book ai didi

javascript - Jquery find+length/size 返回 0

转载 作者:行者123 更新时间:2023-11-28 18:59:36 25 4
gpt4 key购买 nike

我以这种方式动态创建了一些 div:

 //here goes some loop, and everything works fine
$("#result_main_search").append('<div class="singleresult_main_search">
<a href="http://somesite.com/" class="linktosight">'
+ SightsList[i]+ '</a> – ' +
'<img src="/images/balloon.gif" rel="'+ i
+'" class="balloon_img_main_search" /></div>');

在该循环之后,我尝试为每个链接设置 href 属性:

$('.singleresult_main_search').each(function() {
$.get("_ajax_get_sight_link.php", {'id':$("img", this).attr('rel')},
function(data) {
alert($(this).find('.linktosight').length);
$(this).find('a').attr('href', data);
alert(data);
});
})

_ajax_get_sight_data.php 接受 id,返回链接 ( alert(data) 工作正常) 。但是告诉当前 div 中有多少 .linktosight 元素的警报总是给出 0(说总是我的意思是每次它找到我生成的 div 之一)。我已经尝试了 .size()$(this).find('a'),结果相同。那么,我该如何设置它呢?

最佳答案

回调中的

this 将指向 jqXHR 对象而不是循环元素。

你可以创建一个闭包:

$('.singleresult_main_search').each(function() {
var $this=$(this);
//.....
});

..并在回调中使用它:

function(data) { 
alert($this.find('.linktosight').length);
});

$.proxy() 也可能是 Jack Franklin 建议的选项

关于javascript - Jquery find+length/size 返回 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6546129/

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