Javascript 我可以使用什么选择器排除带有后缀的ID?

Javascript 我可以使用什么选择器排除带有后缀的ID?,javascript,jquery,Javascript,Jquery,我在一个页面上有一堆div(bg_1、bg_5、bg_112等),我希望将其指定为样式“display:inline block” 但是,我还有其他div,称为bg_1_log、bg_5_log、bg_112_log等等),我不想将此样式分配给它们 我试过: $('[id^=bg_]').attr('style','display:inline-block'); 这是可行的,但当然会将样式分配给所有以“bg_”开头的div,包括bg_112_log 如何“为所有仅为bg+编号的div指定样式

我在一个页面上有一堆div(bg_1、bg_5、bg_112等),我希望将其指定为样式“display:inline block”

但是,我还有其他div,称为bg_1_log、bg_5_log、bg_112_log等等),我不想将此样式分配给它们

我试过:

 $('[id^=bg_]').attr('style','display:inline-block');
这是可行的,但当然会将样式分配给所有以“bg_”开头的div,包括bg_112_log

如何“为所有仅为bg+编号的div指定样式?”


我正在使用jQuery,所以无论是that还是JS都可以。

您可以使用选择器,例如:

或者,您也可以按照@zfrisch的建议使用regex,但这里有一个改进的版本(选择器不仅限于div):

或者,甚至像:

$('*').attr('id').match(/bg_\d$/)

您可以使用选择器,例如:

或者,您也可以按照@zfrisch的建议使用regex,但这里有一个改进的版本(选择器不仅限于div):

或者,甚至像:

$('*').attr('id').match(/bg_\d$/)

您可以使用JQuery的
.filter
方法

$('div')
.filter(函数(){
返回此.id.match(/bg\ud$/);
})
.css(“背景色”、“绿色”);
div:after{
内容:“测试”;
}

您可以使用JQuery的
.filter
方法

$('div')
.filter(函数(){
返回此.id.match(/bg\ud$/);
})
.css(“背景色”、“绿色”);
div:after{
内容:“测试”;
}

如果不想选择id以
\u log
结尾的元素,则可以使用以下代码:

$('[id^=bg_]').not('[id$=_log]').attr('style','display:inline-block');

如果不希望选择id以
\u log
结尾的元素,则可以使用以下代码:

$('[id^=bg_]').not('[id$=_log]').attr('style','display:inline-block');

您可以在生成html时为它们分配一个类吗?您可以在生成html时为它们分配一个类吗?很好,我不知道我可以使用。不与包含选择器结合使用。很好,我不知道我可以使用。不与包含选择器结合使用。