0

URLを処理し、指定されたURLのタイトル、FirstImage、および説明を返すphpスクリプトを作成しました。私のウェブサイトでは、プレビューに置き換えたいすべてのリンクに「replaced_link」クラスがあります。この関数は機能するはずですが、機能しません。

var $alinks = $('a.replaced_link');
$alinks.each(function(){
            $this=$(this);
            url = $this.attr('href');
                     $.ajax({
                            type:"GET",
                            url:"data.php?getlink="+url,
                            beforeSend: function(){
                                    $this.append('<img align=center src="images/loader_dark.gif">');
                            },
                            success: function(data){
                                    if (data) {
                                            $this.after(data);
                                            $this.remove();
                                    }
                            },
                            error: function(){
                                    $this.find('img').remove();
                            }
                    });

});

単一のリンクでは、正しく機能しています。複数の「a.replaced_link」がある場合、前のすべてがスピンロードのままになり、最後のリンクのみが最初のリンクを取得します(!!!)。「$this.remove()」を削除すると、すべてのリンクが最後のa.replaced_linkに追加されます。明確にしたいと思います。...$thisは「.each」の異なるオブジェクトとして分割されていないようです。解決方法は?

PSこの関数を複数回トリガーする必要がある可能性があるため、オブジェクトを削除したい...そして各URLをリロードしたくない

4

1 に答える 1

1

家の中で暗黙のグローバル!言う

var $this = $(this);

それ以外の

$this = $(this);

URLobvと同じです。

于 2012-05-05T21:34:13.377 に答える