1

「さらに読み込む」ウィジェットの html として機能するテンプレートが JavaScript に含まれています。テンプレート内の特定の変数を、データベースから取得した動的データに置き換えたいと考えています。特定の div の変数「id」を動的データに置き換えようとしています。コードは次のとおりです。

テンプレート:

var likes_template = '<div class="activity_sub_header">You want <span class="stage_name"></span> to play {{Auth::user()->city}}!</div>'
               +'<br>'
               +'<div class="description">'
               +'<div class="activity_body">description ... <a href="/artists/id">See more...</a></div>'
               +'</div>'
               +'<div class="image"><a href="/artists/id"><img src="image_path" alt="" height="80" width="80" class="img-rounded"></a>'
               +'</div>'
               +'<br><br><br>';

動的置換:

for (like in likes){
            // Clone the element
            var $like = $(likes_template).clone();
            $like.attr('id', 'like-' + likes[like].ID);

var $imgId = $like.find('div.image');
            $imgId.html($imgId.html().replace('id', likes[like].id));

}

コードからわかるように、変数 " id"を に置き換えようとしていますdiv class="image"。ただし、これを実行すると、タイトルにエラーが表示されます。

Uncaught TypeError: Cannot call method 'replace' of undefined in jquery

他の変数をこの方法で置き換えることはできましたが、これはできませんでした。何が間違っているのかわかりません。ご協力ありがとうございました!

4

1 に答える 1

1

div.imageセレクター要素の子孫ではありません。

しかし、それは兄弟の一人です。

使用する必要がありますfilter

$like.find('div.image');

察するに

$like.filter('div.image');
于 2013-08-10T02:29:54.063 に答える