当显示div时,如何在jquery中添加状态链接。基本上将链接和div配对以显示和隐藏

时间:2012-01-11 15:39:28

标签: jquery tabs

JS Fiddle Link http://jsfiddle.net/jshotz/seBeW/4/

代码应在选中时将链接变为红色。但仅适用于所选的一个。其他链接不应变为红色。我在连接到所选div的链接时遇到问题。我的流程问题不正确,很有可能是更好的方法。

由于

2 个答案:

答案 0 :(得分:0)

我可以建议替代div id管理吗?使用索引,以便您可以在链接文本中添加任何内容。请参阅此处的示例:http://jsfiddle.net/seBeW/5/

如果您仍然想要索引,我会将该部分注释掉(但不适用于我的扩展链接); 注意:我必须像你一样“解开”你的jQuery,然后我把它作为domready wrap而不是load,但这确实是语义。

这使用.on()来管理click事件,而不是每次都要遍历数组。 不完全“漂亮”的代码,但它应该让你开始。

var divs = $('#logarea> div');
var alinks = $('#logarea> a');
$(document).on('click', '#logarea> a', function() {
    alinks.removeClass('activeLogAreaLink');
    var this1 = $(this);
    var myindex = alinks.index(this);
    this1.addClass('activeLogAreaLink');
    // convert to lower case
    var thediv = this1.text().toLowerCase();
    $('#debug').text(thediv + myindex);
    divs.hide();
    divs.eq(myindex).show();
    // $('#' + thediv).show();
});

答案 1 :(得分:0)

CSS:

.active { color: red; }

JS:

$('#logarea a').click(function() {
 // Reset all links to normal color.
 $('#logarea a').removeClass('active');
 // Make this link red. 
 $(this).addClass('active');
});