У меня есть куча элементов, как следующее:Получить родительский идентификатор
<div class="droppableP" id="s-NSW" style="width:78px; height:63px; position: absolute; top: 223px; left: 532px;">
<div class="sensible"></div>
</div>
Все они имеют класс droppableP, но разные идентификаторы, очевидно, и я хотел бы учитывать код в этом сценарии я взлом на. В исходном скрипте есть определенный селектор для каждого из этих div, но код все одинаковый, кроме идентификатора, с которым он делает вещи, который является либо идентификатором родителя, либо другим 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")
неопределен
Большое спасибо. Я просматривал связанные вопросы, которые, как я понимаю, ближе всего к моему, оказывается, что они не нуждались в родительской функции вообще. Я вроде как нуб, поэтому, пожалуйста, не кричите на меня слишком сильно, если это глупый вопрос. и жаль, что у меня ужасное время с форматом
Что вы получаете, когда выполняете 'console.log ($ (this) .parent());'? – SeanJA
где я помещаю это в середине буквального? –
Я могу поместить его в функцию, я думаю. –