Jquery 同时选择具有相同类和不同编号的所有元素

Jquery 同时选择具有相同类和不同编号的所有元素,jquery,css,css-selectors,sapui5,Jquery,Css,Css Selectors,Sapui5,我试图选择所有元素,但偶数作为一个类,奇数作为另一个类,在CSS中只有一行,但我似乎没有成功,例如,我有 span#__button1-inner.sapMBtnDefault.sapMBtnHoverable.sapMBtnInner.sapMBtnText.sapMFocusable span#__button3-inner.sapMBtnDefault.sapMBtnHoverable.sapMBtnInner.sapMBtnText.sapMFocusable span#__butt

我试图选择所有元素,但偶数作为一个类,奇数作为另一个类,在CSS中只有一行,但我似乎没有成功,例如,我有

span#__button1-inner.sapMBtnDefault.sapMBtnHoverable.sapMBtnInner.sapMBtnText.sapMFocusable
span#__button3-inner.sapMBtnDefault.sapMBtnHoverable.sapMBtnInner.sapMBtnText.sapMFocusable


span#__button2-inner.sapMBtnDefault.sapMBtnHoverable.sapMBtnInner.sapMBtnText.sapMFocusable
span#__button4-inner.sapMBtnDefault.sapMBtnHoverable.sapMBtnInner.sapMBtnText.sapMFocusable
有没有办法把它们都选出来,但是奇数和偶数要分开,因为我需要奇数变成红色,偶数变成蓝色,就像这样

span#__button(n)-inner.sapMBtnDefault.sapMBtnHoverable.sapMBtnInner.sapMBtnText.sapMFocusable

span#__button(n+1)-inner.sapMBtnDefault.sapMBtnHoverable.sapMBtnInner.sapMBtnText.sapMFocusable
span#__button1-inner.sapMBtnDefault.sapMBtnHoverable.sapMBtnIconFirst.sapMBtnInner.sapMBtnText.sapMFocusable
span#__button2-inner.sapMBtnDefault.sapMBtnHoverable.sapMBtnIconFirst.sapMBtnInner.sapMBtnText.sapMFocusable
span#__button3-inner.sapMBtnDefault.sapMBtnHoverable.sapMBtnIconFirst.sapMBtnInner.sapMBtnText.sapMFocusable
我还有其他元素包含这些类中的一些,但不仅仅是它们,所以我不想针对所有这些类。 其他元素是这样的

span#__button(n)-inner.sapMBtnDefault.sapMBtnHoverable.sapMBtnInner.sapMBtnText.sapMFocusable

span#__button(n+1)-inner.sapMBtnDefault.sapMBtnHoverable.sapMBtnInner.sapMBtnText.sapMFocusable
span#__button1-inner.sapMBtnDefault.sapMBtnHoverable.sapMBtnIconFirst.sapMBtnInner.sapMBtnText.sapMFocusable
span#__button2-inner.sapMBtnDefault.sapMBtnHoverable.sapMBtnIconFirst.sapMBtnInner.sapMBtnText.sapMFocusable
span#__button3-inner.sapMBtnDefault.sapMBtnHoverable.sapMBtnIconFirst.sapMBtnInner.sapMBtnText.sapMFocusable
我将使用:

span.sapMBtnDefault.sapMBtnHoverable.sapmbtniner.sapMBtnText.sapMFocusable[id^=\uu按钮][id$=-inner]

此选择器通过属性选择器id^=\uuu按钮在开始时搜索“\uu”按钮来模拟通配符。然后,is搜索id$=的结尾

如果id匹配不重要,只需删除该部分:

span.sapMBtnDefault.sapMBtnHoverable.sapMBtnInner.sapMBtnText.sapMFocusable

对于你提出的问题,你已经收到了很多评论和答案,因此我在这里只提出了几个备选方案

前提:渲染视图后,尝试从视图中选择多个图元。假设这是为了更改CSS规则或可见性或所选控件

另一种选择是:向要(稍后)选择的每个控件添加一些自定义数据。这本身可以通过两种方式实现。一种是使用工厂函数生成控件。二是手动将自定义数据添加到控件中。当模型数据用作生成控件的基础时,工厂功能将起作用。当视图上手动创建的控件数量可管理时,可以选择手动添加自定义数据。渲染视图后,始终可以通过循环内容并检查自定义数据来选择元素

优点:该方法将根据代码中已有的条件添加自定义数据。这将使它更易于维护。您不必使用jQuery,搜索将使用JavaScript。您可以进一步调整代码,使其能够管理多组自定义数据(以备将来需要) 缺点:您将循环浏览视图的内容,因此较大的视图将导致性能下降。如果视图中有非常复杂或大量的控件集,我建议使用jQuery中的属性选择器,如其他注释和答案中所述


希望这对您有所帮助。

可能的重复项您是否可以不使用所有项目通用的类名?例如,
.sapmbtnfault{}
尝试相同的选择,但不包含id部分,例如
span.sapmbtnfault.sapmbtnhaverable.sapmbtniner.sapMBtnText.sapMFocusable