1

如果我有 5 个这样的 div:

<div id="container">
   <div class="selected"></div>
   <div></div>
   <div></div>
   <div></div>
   <div></div>
</div>

选中的 div 可以通过单击另一个来更改。现在,如果我使用 ajax 调用刷新容器的内容,我想保持选中 div。我如何实现这一目标?

我知道我可以使用以下方法获取选定的 div:

var selectedDiv = $('.selected');

但是我如何使用它再次选择它?

4

3 回答 3

4

在执行 Ajax 调用之前,获取选定对象的索引div并将其存储在变量中:

var selected_index = $('#container div.selected').index();

然后,在更新内容后,使用索引选择正确的 div:

$('#container div').eq(selected_index).addClass('selected');
于 2013-01-27T23:00:46.840 回答
0

编辑:似乎在我做之前几秒钟就发布了相同的答案,哈哈

选择的变量

 $('div').click(function(){
    selected = $("#selected").index()+1;
    })

然后选择元素

var element = '.div-class:nth-child('+selected+')';
$(element)

当用户选择一个 div 时执行此操作

选择的变量

$('div').click(function(){
selected = $("#selected").index();
})

然后使用再次选择元素.eq(selected)

于 2013-01-27T23:01:21.573 回答
0

更新您的变量以存储 div 的索引。

var selectedDiv = $('#container div').index($('.selected'));

然后在您的 ajax 调用的成功函数中将类设置为先前选择的 div。

success: function(){
  $('#container div:eq(selectedDiv)').addClass('selected');
}
于 2013-01-27T23:02:26.043 回答