Javascript 我可以使用什么选择器排除带有后缀的ID?
我在一个页面上有一堆div(bg_1、bg_5、bg_112等),我希望将其指定为样式“display:inline block” 但是,我还有其他div,称为bg_1_log、bg_5_log、bg_112_log等等),我不想将此样式分配给它们 我试过: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指定样式
$('[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时为它们分配一个类吗?很好,我不知道我可以使用。不与包含选择器结合使用。很好,我不知道我可以使用。不与包含选择器结合使用。