我正在尝试将代码段压缩为8行代替488 ...帮助?
有没有办法使用“this”选择器作为该名称的一部分?
这就是我现在拥有的(不起作用) http://jsfiddle.net/H44Zj/1/
HTML:
<div class="left">
<div class="showcase show" id="new-online"> </div>
<div class="showcase" id="aa-online"> </div>
<div class="showcase" id="ab-online"> </div>
<div class="showcase" id="ac-online"> </div>
<div class="showcase" id="ad-online"> </div>
<div class="showcase" id="ae-online"> </div>
<div class="showcase" id="af-online"> </div>
<div class="showcase" id="ag-online"> </div>
</div>
<div class="right">
<div id="new"> </div>
<div id="aa"> </div>
<div id="ab"> </div>
<div id="ac"> </div>
<div id="ad"> </div>
<div id="ae"> </div>
<div id="af"> </div>
<div id="ag"> </div>
</div>
JS:
$(function() {
$('#aa,#ab,#ac,#ad,#ae,#af,#ag').mouseenter(function() {
$(this + '-online').addClass("show");
$('#new-online').removeClass("show");
}).mouseleave(function() {
$('#new-online').addClass("show");
$(this + '-online').removeClass("show");
});
});
我想在#aa的mouseenter时,将节目类添加到#aa-online。 我不想为每个(其中61个)元素复制/粘贴它。
非常感谢。
答案 0 :(得分:3)
this
是 DOM元素。所以不,它不能成为选择器的一部分。看起来您想要将元素的ID用作选择器的一部分:
$('#' + this.id + '-online')