-1

我遇到了一些问题,我正在研究“就地编辑”实现,并希望动态检索一个 li 内的两个 div 的 ID,第一个 div 默认是可见的,第二个设置为 display: none; 当我单击钢笔“图标”(跨度)时,我想切换即设置第一个 div:显示:无;第二个显示:block;到目前为止,这是我的 jQuery:

$('.edit-tools').each(function () {
             var pen = this;
             $(pen).click(function () {
                 var div_id_first = $(this).closest(".school").attr('id');
                 var div_id_second = $(".school-edit").attr('id');

                 console.log(div_id_first);
                 console.log(div_id_second);

                 $('#' + div_id_first).css("display", "none");
                 $('#' + div_id_second).css("display", "block");

                 $('.edit-tools').attr("disabled", true); 
             });
         });

编辑:问题出在第二个 ID 上,这是因为另一个 div 在外面,而笔(跨度)在第一个 div 之内,这就是为什么最接近();方法有效。

主要问题是如何获得第二个的 id,

 <li>
    <div id="09990-view"></div>
    <div id="09990-edit" style="display: none;"></div>
 <li>

这是jsfiddle:http: //jsfiddle.net/tF6nD/3/

4

1 回答 1

1

工作示例:http: //jsfiddle.net/tF6nD/5/

您需要根据li元素获取孩子。

         $('.edit-tools').click(function () {
             var div_id_first = $(this).closest("li").find(".school").attr('id');
             var div_id_second = $(this).closest("li").find(".school-edit").attr('id');

             console.log(div_id_first);
             console.log(div_id_second);

             $('#' + div_id_first).css("display", "none");
             $('#' + div_id_second).css("display", "block");

             $('.edit-tools').attr("disabled", true); 
         });
于 2013-04-02T12:50:53.550 回答