jQuery:选择另一个元素1

时间:2017-08-31 11:40:59

标签: javascript jquery

我有一个场景,我需要使用他们的类名选择4个元素,1个接一个。它们都有相同的类名。

我目前可以通过为每个元素提供firstsecondthirdfourth等ID来实现此目的。但这会使它略显凌乱而且我我相信有更好的方法可以做到这一点。

这是我当前代码的一个例子:

http://jsfiddle.net/kBJGM/107/

这是我正在使用的代码:

var strokeCount = 0;

$(function(){

    $("#countstroke").keyup(function(){

    var count = ++strokeCount;

    if(count ==1){

    $('#first').css('background','#00a1e8');

    }

    if(count ==2){
    $('#second').css('background','#00a1e8'); 
    }

    if(count ==3){
    $('#third').css('background','#00a1e8');

    }

    if(count ==4){
    $('#forth').css('background','#00a1e8');

    }

    });
});

有人可以就此提出建议吗?

3 个答案:

答案 0 :(得分:2)

你可以使用$ .eq(),所以

$(".passcircles").eq( count - 1 )

会给你正确的元素(第一个元素在索引0处)。所以我想你想要

$(".passcircles").eq( count - 1).css("background", "#00a1e8");

答案 1 :(得分:1)

getElementsByClassName

怎么样?
document.getElementsByClassName("passcircles")[count-1].style.background = "#00a1e8";

它依赖于类,而不是id。

Updated Fiddle

答案 2 :(得分:0)

如果元素是按照HTML中的顺序定义的,则可以使用document.querySelectorAll('.YourClassName')

这将返回NodeList(节点列表,每个节点都是该类的元素),您可以类似于数组迭代它,并执行类似这样的操作。

document.querySelectorAll('.YourClassName').forEach(function(node){
  $(node).css('background','#00a1e8');
});