我正在尝试弄清楚如何将事件类添加到 <dd>
在基金会的 Accordion 中。目前事件状态仅针对 div 中的内容启用,而不是 <dd>
上的内容。这就是我所追求的。
此处还描述了问题:http://foundation.zurb.com/forum/posts/1061-accordion-foundation-5
当前:
<dd>
<a href="#panel1">Title</a>
<div id="panel1" class="content active">Content</div>
</dd>
期望:
<dd class="active">
<a href="#panel1">Title</a>
<div id="panel1" class="content active">Content</div>
</dd>
这是当前 Foundation.accordion.js 的代码:
;(function ($, window, document, undefined) {
'use strict';
Foundation.libs.accordion = {
name : 'accordion',
version : '5.0.1',
settings : {
active_class: 'active',
toggleable: true
},
init : function (scope, method, options) {
this.bindings(method, options);
},
events : function () {
$(this.scope).off('.accordion').on('click.fndtn.accordion', '[data-accordion] > dd > a', function (e) {
var accordion = $(this).parent(),
target = $('#' + this.href.split('#')[1]),
siblings = $('> dd > .content', target.closest('[data-accordion]')),
settings = accordion.parent().data('accordion-init'),
active = $('> dd > .content.' + settings.active_class, accordion.parent());
e.preventDefault();
if (active[0] == target[0] && settings.toggleable) {
return target.toggleClass(settings.active_class);
}
siblings.removeClass(settings.active_class);
target.addClass(settings.active_class);
});
},
最佳答案
你可以使用jquery来实现
on_some_event {
$("dd").addClass("active"); //adds 'active' class to all <dd> elements
$("dd").removeClass("active"); //removes 'active' class from all <dd> elements
$("dd").toggleClass("active"); //toggles 'active' class for all <dd> elements
}
关于javascript - 如何将事件类添加到 Foundation Accordion dd 元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23067114/