我有一堆元素,如下所示:
<div class="droppableP" id="s-NSW" style="width:78px; height:63px; position: absolute; top: 223px; left: 532px;">
<div class="sensible"></div>
</div>
他们都有类 droppableP 但显然不同的 id,我想在我正在破解的这个脚本中考虑代码。原始脚本只是为这些 div 中的每一个提供了一个特定的选择器,但除了它所处理的 id 之外,代码都是相似的,它是父级的 id 或另一个名称与之相关的 div。这是专门针对此 div 的原始代码:
$("#s-NSW > .sensible").droppable( {
accept : "#i-NSW",
tolerance : 'intersect',
activeClass : 'droppable-active',
hoverClass : 'droppable-hover',
drop : function() {
$('#s-NSW').addClass('s-NSW');
$('#s-NSW').addClass('encastrada'); //can't move any more..
$('#i-NSW').remove();
$('#s-NSW').animate( {
opacity: 0.25
},200, 'linear');
checkWin();
}
});
以下是我想要考虑的因素,以便相同的代码可以完成所有这些,我最终也会进行链接,也许会摆脱内联样式,但这是我的第一次尝试:
$(".droppableP > .sensible").droppable( {
accept : "#i" + $(this).parent().attr('id').substring(2),
tolerance : 'intersect',
activeClass : 'droppable-active',
hoverClass : 'droppable-hover',
drop : function() {
$(this).parent().addClass($(this).parent().attr('id'));
$(this).parent().addClass('encastrada');
$("#i" + ($this).parent().attr('id').substring(2)).remove();
$(this).parent().animate( {
opacity: 0.25
},200, 'linear');
checkWin();
}
});
我得到的错误是:
$(this).parent().attr("id")
未定义
非常感谢。我浏览了与我最接近的相关问题,结果发现它们根本不需要父函数。我是个菜鸟,所以如果这是一个愚蠢的问题,请不要对我大喊大叫。对不起,我在格式上度过了一段糟糕的时光