我正在尝试这样做,以便当单击带有图像的 div 时,该 div 及其相关 div(一个带有-content
)都附加了一个.active
类(也就是说,当单击图像 div 时,会弹出相应的内容框)
http://jsfiddle.net/sergep/VM6AC/
我不确定我在代码的 javascript 部分做错了什么:
$('.diagram div').click(function(){
var $this = $(this);
var type = $this.attr('class');
$this.siblings('.diagram div').removeClass('active');
$this.addClass('active');
$('div.diagram-content .' + type).addClass('active');
});
为什么当我添加一个简单alert($this.attr('class'));
的行时代码完全停止工作?(或者是吗?)
html 看起来像这样:
<div class="diagram">
<div id="gameboy" class="gameboy"></div>
<div class="switch"></div>
<div class="face"></div>
</div>
<div class="anatomy-content">
<div class="gameboy-content">This is a content box for the gameboy</div>
<div class="switch-content">This is a content box for the switch</div>
<div class="face-content">This is a content box for the face</div>
</div>
我决定采用这种classes
方法而不是那种data-type
方法。