Javascript 为什么第n个子元素要将样式添加到备用可见元素不起作用?

Javascript 为什么第n个子元素要将样式添加到备用可见元素不起作用?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我正在为其他可见元素添加样式。最初我想使用nth child(2n+1)idea,但显然不起作用!。概括我的问题,以下是示例: HTML: Jquery: $('.find:visible:nth-child(2n+1)').addClass('alternate'); //This is not working! Why? 我不确定失败的原因是什么。虽然,我对这个问题做了一些变通,并创建了一个函数,它可以工作,但如果可以使用上述方法解决问题,它会更平滑更好。以下是我制定的解决方案: f

我正在为其他可见元素添加样式。最初我想使用
nth child(2n+1)
idea,但显然不起作用!。概括我的问题,以下是示例:

HTML:

Jquery:

$('.find:visible:nth-child(2n+1)').addClass('alternate');    //This is not working! Why?
我不确定失败的原因是什么。虽然,我对这个问题做了一些变通,并创建了一个函数,它可以工作,但如果可以使用上述方法解决问题,它会更平滑更好。以下是我制定的解决方案:

function addAlternateStyle(){
var alt= true;
    $('.find:visible').each(function(){
        if(alt){
            alt=!alt;
            $(this).addClass('alternate');
        }
        else{
            alt=!alt;
        }
    });
}
非常感谢您的帮助。

您可以尝试以下方法:-

$('.find:visible:even').addClass('alternate');
您可以尝试以下方法:-

$('.find:visible:even').addClass('alternate');

您可以使用以下jQuery公式选择所选内容中的奇数/偶数元素:

$('div[class!="hide find"]:even')  

$('div[class!="hide find"]:odd')

我使用了奇偶伪类,并使用“not”选择器(class!=“hide find”)检查了可见性。

您可以使用以下jQuery公式选择选择中的奇偶元素:

$('div[class!="hide find"]:even')  

$('div[class!="hide find"]:odd')

我使用了奇数/偶数伪类,并使用“not”选择器(class!=“hide find”)

检查了可见性。您可以使用list元素提供替代样式。您可以使用list元素提供替代样式。nth-chiild不能以这种方式工作,它将访问所有元素,即使它们是隐藏的或可见的。奇怪的行为!第n个子项的输入来自
。查找:可见
。理想情况下,它应该使用该列表。n chiild不会以这种方式工作,它将访问所有元素,即使它们是隐藏的或可见的。奇怪的行为!第n个子项的输入来自
。查找:可见
。理想情况下,它应该是这个列表。。