计算存在多少相似的id

Rob*_*avo 0 html jquery

好吧,我有一个包含特定id元素的html文档,这个id组成如下:"word +一个以1 + word开头的数字",并且有一个类,可以"启用"或"禁用".

它是这样的:

<table>
    <tr>
        <td class="enabled" id="Bart1sim"></td>
        <td class="enabled" id="john1doe"></td>
    </tr>
    <tr>
        <td class="enabled" id="Bart2sim"></td>
        <td class="enabled" id="john2doe"></td>
    </tr>
    <tr>
        <td class="disabled" id="Bart3sim"></td>
        <td class="enabled" id="john3doe"></td>
    </tr>
    <tr>
        <td class="disabled" id="Bart4sim"></td>
        <td class="disabled" id="john4doe"></td>
    </tr>
</table>
Run Code Online (Sandbox Code Playgroud)

当点击任何"启用"td时,最后一个"启用"td(让我们认为所有类似的ID都将tds分组)类必须更改为"禁用".当点击任何"禁用"td时,最后一个"禁用"的td类必须更改为"启用".

我想如果我可以通过id检查每个组的最后一个"启用"td类是什么,这应该有效.

这是我已经拥有但不起作用的:

$(document).ready(Principal);

function Principal() {
    $(document).on("click touchend", ".enabled, .disabled", function() {
         LetsDoThis(this.className)
    });
}

function LetsDoThis(clas) {
    if (clas == "enabled")
        $("." + clas + "").removeClass("enabled").addClass("disabled");
    else
        $("." + clas + "").removeClass("disabled").addClass("enabled");
}
Run Code Online (Sandbox Code Playgroud)

谢谢你的时间.

编辑

var num = $('[id ^ ="Bart"]').length给出所有id的数字以"Bart"开头,但我可以有像Bart1Fla,Bart2Fla,Bart3Fla这样的id .. Bart1Ned,Bart2Ned,Bart3Ned ..其中是不同的id组,所以我仍然需要检查数字后的最后一个字来计算ID.

Ibr*_*han 6

您可以使用属性启动选择器,如下所示.

var num = $('[id^="Bart"]').length

console.log(num);
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
    <tr>
        <td class="enabled" id="Bart1sim"></td>
        <td class="enabled" id="john1doe"></td>
    </tr>
    <tr>
        <td class="enabled" id="Bart2sim"></td>
        <td class="enabled" id="john2doe"></td>
    </tr>
    <tr>
        <td class="disabled" id="Bart3sim"></td>
        <td class="enabled" id="john3doe"></td>
    </tr>
    <tr>
        <td class="disabled" id="Bart4sim"></td>
        <td class="disabled" id="john4doe"></td>
    </tr>
</table>
Run Code Online (Sandbox Code Playgroud)