【发布时间】:2014-06-11 00:58:54
【问题描述】:
我有一个使用 Javascript 的自定义手风琴设置。目前使用 onclick 我正在将样式切换到父 div(当前持有一类“卡片”并添加“卡片打开”)。我的问题是如何提高一个 div 并开始使用“time-steam-event”类来操作 div?
HTML:
<div class="time-stream-event" id="{entry_id}">
<div style="background: url({timeline_item_img}) no-repeat center center;" class="event-bg grayscale"></div>
<div class="card">
<h3><a href="{title_permalink="/timeline"}">{title}</a></h3>
<div class="event-year">{timeline_item_date format="%F %Y"}</div>
<a href="#" class="togglelink"></a>
<div class="toggle-box">
<p>{timeline_item_description}</p>
<div class="employees">Number of Employees</div>
<div class="employee-count-no"> <i class="ss-icon">👥</i> {timeline_item_employees}</div>
</div>
<div class="open-arrow"></div>
</div>
</div>
Javascript:
$.fn.slideFadeToggle = function(speed, easing, callback) {
return this.animate({opacity: 'toggle', height: 'toggle'}, speed, easing, callback);
};
$('.toggle-box').hide();
$('a.togglelink').on('click', function (e) {
e.preventDefault();
var elem = $(this).next('.toggle-box')
$('.toggle-box').not(elem).hide();
elem.slideFadeToggle();
var parent_div = $(this).parent().toggleClass('card-open');
});
【问题讨论】:
-
试试
$(this).closest('.time-stream-event'); -
尝试 .parentElement 它将根据您的 DOM 获取直接父级。
-
document.getElementsByClassName("togglelink")[0].parentElement;
标签: javascript jquery html css