jQuery中用于ID的正则表达式

regular expression in jQuery for ID

本文关键字:正则表达式 ID 用于 jQuery      更新时间:2023-09-26
<span id="aaa_1_bbb">aaa</span>
<span id="aaa_2_bbb">aaa</span>
<span id="aaa_3_bbb">aaa</span>
<span id="aaa_4_bbb">aaa</span>
<span id="aaa_5_bbb">aaa</span>
<span id="aaa_6_bbb">aaa</span>
<span id="bbb_1_bbb">aaa</span>
<span id="ccc_1_bbb">aaa</span>
<span id="ddd_1_bbb">aaa</span>
<span id="aaa_1_xxx">aaa</span>
$('span[id="aaa_*_bbb"]').css('background-color', 'red');

我必须如何修改这个jQuery?我想添加css (background-color:red)仅为aaa_*_bbb ID。* = number

生活: http://jsfiddle.net/HB3xf/2/

根据HTML的规定,您可以组合使用以选择器开头和以选择器结尾的属性:

$('span[id^="aaa_"]').filter('[id$="_bbb"]').css('background-color', 'red');

然而,如果HTML在你的控制之下,你应该考虑给这些元素添加一个class,或者给它们的父元素添加一个idclass,这样你就可以更直接地选择它们。

查看效果

您可以使用.filter

$('span').filter(function () { return /aaa_'d+_bbb/.test(this.id); }).css('background-color', 'red');

你可以这样做:

$('span').each(function() {
    var span_id = $(this).attr('id');
    if (span_id.substring(0, 3) == "aaa" && span_id.substring(span_id.length - 3, span_id.length) == "bbb") {
        $(this).css('background-color', 'red');
    }
});

它接受每个span元素并检查前3个字符是否为"aaa",后3个字符是否为"bbb",如果是这种情况,则分配CSS

我认为你需要使用这个:http://james.padolsey.com/javascript/regex-selector-for-jquery/

更好的选择是在这些元素上设置一个特定的类,如

<span id="aaa_1_bbb" class="aaabbb">aaa</span>
<span id="aaa_2_bbb" class="aaabbb">aaa</span>
<span id="aaa_3_bbb" class="aaabbb">aaa</span>
<span id="aaa_4_bbb" class="aaabbb">aaa</span>
<span id="aaa_5_bbb" class="aaabbb">aaa</span>
<span id="aaa_6_bbb" class="aaabbb">aaa</span>
<span id="bbb_1_bbb">aaa</span>
<span id="ccc_1_bbb">aaa</span>
<span id="ddd_1_bbb">aaa</span>

然后输入$('span.aaabbb').css('background-color', 'red');