点击相同的班级名称时如何显示正确的内容?

时间:2017-02-03 20:51:38

标签: javascript jquery html

我希望你们中的任何人能给我一些帮助。如您所见,我有一个列表并在表格中附加所有列表。现在,我添加了监听器来显示下面命名的div。由于所有div现在都具有相同的类,show()函数不起作用。有谁知道如何让它显示我点击的那个?

谢谢xxx 李。

PS:我试图使用最接近的,但它不会去任何地方。

    $('.bundle-main').append('<ul class="item-content clearfix">\
                        <li class="td td-chk">\
                          <div class="cart-checkbox ">\
                            <input class="check" id="J_CheckBox_170037950254" name="items[]" value="170037950254" type="checkbox">\
                            <label for="J_CheckBox_170037950254"></label>\
                          </div>\
                        </li>\
                       <li class="td td-info">\
                        <div class="item-props item-props-can">\
                            <span class="sku-line">'+data[0].productname+'</span>\
                             <span tabindex="0" class="btn-edit-sku theme-login" >edit</span>\
                               <i class="theme-login am-icon-sort-desc"></i>\
                         </div>\
                       </li>\    
                      <div class="theme-popover-mask">
                       <div class="theme-popover">\
                         <div class="theme-span">
                         </div>\
                        </div>\
                      </div>\
                    </ul>');
var $ww = $(window).width();
        $('.theme-login').click(function() {

                $(document.body).css("position","fixed");



                $(this).addClass("selected");
                $(this).parent().addClass("selected");
                var to=$(this).prev().offset().top+30;
                var th=$(this).offset().top;
                var tl=$(this).offset().left-200;

                $('.theme-span').show();                
                $('.theme-popover-mask').show();
                $('.theme-popover-mask').height($(document).height());
                $('.theme-popover').slideDown(200);

   if ($ww>640){
                $('.theme-popover').css("top",th);
                $('.theme-popover').css("left",tl);
                $('.theme-popover-mask').hide();
}

1 个答案:

答案 0 :(得分:0)

您需要使用DOM遍历来查找与您点击的.theme-span UL相同的.theme-popover-mask.theme-popoveritem-content元素:< / p>

var ul = $(this).closest(".item-content");
var span = ul.find(".theme-span");
var popover_mask = ul.find(".theme-popover-mask");
var popover = ul.find(".popover");

您不能单独使用.closest,因为它只搜索包含的元素。