我在运行.each函数时遇到困难,当单击其外部的链接时,可以打开/关闭div。该功能有效,除了我希望它适用于几个不同的div(现在,missiondiv和visiondiv)。所以我创建了一个变量前缀,它找到了一个span的id,并以此作为前缀运行该函数。 (对不起,如果那没有意义)。我的脚本仅适用于第一个span id。 http://jsfiddle.net/jessica_b/KMJPf/
链接的HTML:
<div id="whoweare">
<span id="mission"><a href='#'>Mission</a></span></br>
<span id="vision"><a href='#'>Vision</a></span></br>
</div>
div的HTML:
<div id="missiondiv" class="closed">Mission item</div>
<div id="visiondiv" class="closed">Vision item</div>
Javascript功能:
$.each($("#whoweare").find("span").attr("id"), function(){
var prefix = $("#whoweare").find("span").attr("id");
$('#' + prefix + ' a').click(function() {
$('#' + prefix + 'div').toggleClass("closed");
$('#' + prefix + 'div').toggleClass("item block");
$(this).toggleClass('active-page');
$container.isotope('reLayout');
});
});
它在同位素中运行,但所有这一切都在起作用。错误存在于上面的脚本中,我在jQuery中不够精通,无法诊断我的错误!谢谢!
答案 0 :(得分:1)
$('#whoweare span a').each(function(index, element) {
$(element).click(function() {
var prefix = $(this).parent('span').attr('id');
$('#' + prefix + 'div').toggleClass("closed");
// other actions
return false;
});
});
OR
$('#whoweare span').each(function(index, element) {
$(element).find('a').click(function() {
var prefix = $(element).attr('id');
$('#' + prefix + 'div').toggleClass("closed");
// other actions
return false;
});
});
这是您的完整脚本:http://jsfiddle.net/KMJPf/49/