Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery:在另一个元素之后选择元素1_Javascript_Jquery - Fatal编程技术网

Javascript jQuery:在另一个元素之后选择元素1

Javascript jQuery:在另一个元素之后选择元素1,javascript,jquery,Javascript,Jquery,我有一个场景,我需要选择4个元素,一个在另一个元素之后使用它们的类名。它们都有相同的类名 目前,我可以给每个元素一个ID,比如第一个,第二个,第三个,第四个,等等。但这会使它稍微不整洁,我相信有更好的方法 这是我当前代码的一个示例: 这是我正在使用的代码: var strokeCount = 0; $(function(){ $("#countstroke").keyup(function(){ var count = ++strokeCount; if(cou

我有一个场景,我需要选择4个元素,一个在另一个元素之后使用它们的类名。它们都有相同的类名

目前,我可以给每个元素一个ID,比如
第一个
第二个
第三个
第四个
,等等。但这会使它稍微不整洁,我相信有更好的方法

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

这是我正在使用的代码:

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');

    }

    });
});
有人能给你一些建议吗?

你可以用$.eq()来做这个,所以

$(".passcircles").eq( count - 1 )
将为您提供正确的元素(第一个元素位于索引0处)。所以我想你想要

$(".passcircles").eq( count - 1).css("background", "#00a1e8");
您可以为此使用$.eq(),因此

$(".passcircles").eq( count - 1 )
将为您提供正确的元素(第一个元素位于索引0处)。所以我想你想要

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

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

这将返回一个(节点列表,每个节点都是类的一个元素),您可以像数组一样对其进行迭代,并执行类似的操作

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

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

这将返回一个(节点列表,每个节点都是类的一个元素),您可以像数组一样对其进行迭代,并执行类似的操作

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

那么
getElementsByClassName
呢:

document.getElementsByClassName("passcircles")[count-1].style.background = "#00a1e8";
它依赖于类,而不是id


那么
getElementsByClassName
呢:

document.getElementsByClassName("passcircles")[count-1].style.background = "#00a1e8";
它依赖于类,而不是id


使用$('.someclass').eq(count-1).css('background','00a1e8');使用$('.someclass').eq(count-1).css('background','00a1e8');我不推荐这种方法-NodeList很难使用,因为它不是真正的数组。@DuncanThacker,难度取决于理解和要求,$()还返回节点!我不推荐这种方法-NodeList很难使用,因为它不是真正的数组。@DuncanThacker,难度取决于理解和要求,$()还返回节点!