次の成功関数を使用したajax呼び出しがあります。
success: function(response){
console.log($(response).siblings());
$(response).siblings().each(function(){
alert("foo");
var thing_id = $(this).attr("id").split("-")[0];
alert(thing_id);
$("#"+thing_id).append(this);
})
ここで、応答はこのdjangoテンプレート(わずかに匿名化)を使用してhtmlでレンダリングされます。
{% for thing in things %}
<div id="{{ thing.something.id }}-pc">
<div>
<span class="tablename">Something Else</span>
{% include '<some template>' with table=thing.something_else %}
</div>
</div>
{% endfor %}
sibling()のドキュメントには、セレクターが含まれていないと記載されています。これは、テンプレートに1つしかない場合に表示thing in things
されますが、複数ある場合は、両方のトップレベルのdivがループでアラートを受け取ります。
どうしたの?!
編集(より良い質問):2つあるときに両方のトップレベルのdivを取得するのに、1つしかないときに0を取得するのはなぜsiblings()
ですか$(response)
?
何を選択しているのか誤解しているようです$(response)
。誰でも明確にできますか?