javascript - 名称 id 或类中的正则表达式?

标签 javascript jquery html css

我有例如:

<span id="name1">name1</span>
<span id="name2">name2</span>
<span id="name3">name3</span>
<span id="name4">name4</span>
<span id="name5">name5</span>

我必须使用:

$("#name1").click(function(){
    $(this).css('background-color', 'red');
});
$("#name2").click(function(){
    $(this).css('background-color', 'red');
});

等等

我想要一些东西:

$("#name  [1-5] ").click(function(){
    $(this).css('background-color', 'red');
});

我不会添加类。我想为 id 和正则表达式做这个。

最佳答案

您有几个选择:

  1. 使用类。它很容易添加,并且在这种情况下正是它们的正确用途。这也是最快的。

  2. 使用循环:

    for(var i = 1; i <= 5; i++) { $("#name"+ i).click(函数(){ $(this).css('背景颜色', '红色'); });

  3. 使用属性选择器:$('span[id^="name"]') 这将获取 ID 以“name”开头的所有 span。请注意,这是最慢的选项,所以如果可以的话我会避免使用它。

关于javascript - 名称 id 或类中的正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7077497/

相关文章:

javascript - 将输入的时间(PDT/PST)转换为本地时间

javascript - Chrome 扩展程序中是否允许使用 jQuery?

javascript - AngularJS $on - 重新订阅未订阅的广播

javascript - jQuery 不在下拉菜单上触发更改事件

html - span 列表元素中的自动换行

html - 如何不重叠表和行?

javascript - 如何防止拖动元素时页面滚动?

javascript - 找不到src时隐藏视频

javascript - 使用 javascript 创建表头

html - 如何在容器内的 div 中居中放置 div?