JavaScript从整页切换2个链接

时间:2013-09-11 17:45:56

标签: javascript jquery toggle

我有一个充满链接的页面,它们已配对。我想做的是,一旦我点击一个问号(寻求帮助),前两对被选中,然后是下一个2,依此类推。问题是链接是在页面上随机创建的。我有以下代码选择第一个链接及其对。

$(".main .container a:first").css("color", "#0c0");

var valid = $(".main .container a:first").attr("class").split(" ");
var links = $(".main .container a");

for (i = 0; i < links.length; i ++) {
    var attributes = $(links[i]).attr("class").split(" ");

    if (attributes[1] == valid[1]) {
        $(links[i]).eq(0).css("color", "#0c0");
    }
}

编辑:

$(".help a").on("click", function()
{
    var unchecked = $(".main .container a:not(.selected)");
    var valid = unchecked.eq(0).attr("class").split(" ");
    var links = $(".main .container a");

    unchecked.eq(0).addClass("selected");

    for (i = 0; i < links.length; i ++) {
        var attributes = $(links[i]).attr("class").split(" ");

        if (attributes[1] == valid[1]) {
            $(links[i]).eq(0).addClass("selected");
        }
    }
});

1 个答案:

答案 0 :(得分:0)

看起来您可以通过向已经“选中”的元素添加CSS类来简单地管理它。

检查我在JSFiddle上做的这个简单测试:http://jsfiddle.net/L4rUM/1/

// When you click the "?"
$('button#btnHelp').on('click', function(){

     // Gathers the list of ALL <a> elements that were not "selected" yet
     var uncheckeds = $('.main .container > a:not(.selected)');

     // If you have at least 2 available elements
     if(uncheckeds.size() > 1){
         // Adds the .selected CSS class to first 2 non-selected elements
         uncheckeds.eq(0).addClass('selected');
         uncheckeds.eq(1).addClass('selected');
     }
 });

现在通过添加CSS类来控制你正在进行的CSS操作:

.selected { color: #0c0; }

我希望这有助于解决您的问题:)