【发布时间】:2012-10-28 03:43:14
【问题描述】:
我有一个带有以下成功函数的 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 模板(稍微匿名)呈现响应的地方:
{% 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 %}
兄弟()的文档声明选择器不包括在内,如果我的模板中只有一个 thing in things,我会看到这一点,但如果我有多个,我会收到两个顶级 div循环。
发生了什么事?!
编辑(更好的问题):当我在$(response) 上调用siblings() 时,为什么当有2 个时我得到两个顶级div,但当只有1 个时我得到0?
似乎我误解了我使用$(response) 选择的内容。谁能澄清一下?
【问题讨论】:
-
您期待什么?
siblings将抓取所有兄弟姐妹,但您可以使用siblings('.class')类过滤 -
很难追随你想要发生的事情
-
希望我的编辑得到澄清。我期待如果有两个顶级 div,当我要求
.siblings()时我会得到一件事(因为大概$(response)指向第一个,我会得到它唯一的兄弟)。然而,实际上,我得到了两件事。 -
@nnnnnn 这更接近我需要知道的。那么当我说
$(response)时,我在选择什么? -
对不起,我删除了我的评论以使其成为答案。
标签: javascript jquery html ajax django-templates