我希望你们中的任何人能给我一些帮助。如您所见,我有一个列表并在表格中附加所有列表。现在,我添加了监听器来显示下面命名的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();
}
答案 0 :(得分:0)
您需要使用DOM遍历来查找与您点击的.theme-span
UL相同的.theme-popover-mask
,.theme-popover
和item-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
,因为它只搜索包含的元素。