Javascript jQuery:如何匹配ID的最后部分

Javascript jQuery:如何匹配ID的最后部分,javascript,jquery,html,Javascript,Jquery,Html,为了打开带有一些内容的弹出窗口,我有许多标签锚,它们的ID以“poc”开头,比如poc1、poc2、poc3。。。 以同样的方式,我有相同数量的tag div,它们的id以“pop”开头,比如pop1、pop2、pop3。。。如何在jQuery中匹配它们以便 poc1-->pop1 poc2-->pop2 我写了一些类似的东西 jQuery("a[id^='poc']").click(function() { jQuery('#pop1').bPopup(); }); 但是我需要的不是

为了打开带有一些内容的弹出窗口,我有许多标签锚,它们的ID以“poc”开头,比如poc1、poc2、poc3。。。 以同样的方式,我有相同数量的tag div,它们的id以“pop”开头,比如pop1、pop2、pop3。。。如何在jQuery中匹配它们以便 poc1-->pop1 poc2-->pop2 我写了一些类似的东西

jQuery("a[id^='poc']").click(function() {
    jQuery('#pop1').bPopup();
});

但是我需要的不是“pop1”,而是根据poc的最终值对应的pop。有可能吗?

通过替换单击元素id中的字符串
poc
来获取特定编号:

jQuery("a[id^='poc']").click(function() {
    var num = $(this).attr('id').replace('poc','');
    jQuery('#pop' + num).bPopup();
});
示例

单击每个
poc
元素,相应的
pop
元素将变为红色

$('[id^=poc]')。在('click',function()上{
var num=$(this.attr('id').replace('poc','');
$('[id^=pop]')。removeAttr('style');
$('pop'+num).css({'color':'red'});
});

poc1
poc2
poc3
pop1
pop2

pop3
通过替换单击元素id中的字符串
poc
来获取特定编号:

jQuery("a[id^='poc']").click(function() {
    var num = $(this).attr('id').replace('poc','');
    jQuery('#pop' + num).bPopup();
});
示例

单击每个
poc
元素,相应的
pop
元素将变为红色

$('[id^=poc]')。在('click',function()上{
var num=$(this.attr('id').replace('poc','');
$('[id^=pop]')。removeAttr('style');
$('pop'+num).css({'color':'red'});
});

poc1
poc2
poc3
pop1
pop2
pop3
我建议您使用如下属性:

  • 向所有锚元素添加公共类
  • 数据目标
    元素添加到锚点以存储目标
    div
    id
  • 使用
    类绑定事件
  • 事件处理程序中使用
    数据目标
  • HTML

    <a id="poc1" data-target="#pop1" class="pocLinks"> Click Here </a>
    <!--         ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^
    
    如果您不想更改现有的HTML

    您可以使用从单击元素的
    id
    中提取数字

    jQuery("a[id^='poc']").click(function() {
        var no = $(this).attr('id').match(/\d+/)[0];
    
        $('#pop1' + no).bPopup();
    });
    
    Regex

  • /
    :正则表达式分隔符
  • \d
    :匹配任何数字
  • +
    :匹配上一个实体一次或多次
  • 我建议您使用以下属性:

  • 向所有锚元素添加公共类
  • 数据目标
    元素添加到锚点以存储目标
    div
    id
  • 使用
    类绑定事件
  • 事件处理程序中使用
    数据目标
  • HTML

    <a id="poc1" data-target="#pop1" class="pocLinks"> Click Here </a>
    <!--         ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^
    
    如果您不想更改现有的HTML

    您可以使用从单击元素的
    id
    中提取数字

    jQuery("a[id^='poc']").click(function() {
        var no = $(this).attr('id').match(/\d+/)[0];
    
        $('#pop1' + no).bPopup();
    });
    
    Regex

  • /
    :正则表达式分隔符
  • \d
    :匹配任何数字
  • +
    :匹配上一个实体一次或多次
  • 分析当前ID-
    此.ID
  • 将其用作选择器,用于
    bPopup()

  • 分析当前ID-
    此.ID
  • 将其用作选择器,用于
    bPopup()


  • 根据kapantzak的解决方案为自己保存一个var:

    jQuery("a[id^='poc']").click(function() {
        jQuery( $(this).attr('id').replace('poc','#pop') ).bPopup();
    });
    

    根据kapantzak的解决方案为自己保存一个var:

    jQuery("a[id^='poc']").click(function() {
        jQuery( $(this).attr('id').replace('poc','#pop') ).bPopup();
    });
    

    使用data attr将pop的id存储在相应的poc元素中。然后,单击ReadDataAttr。我建议您为这些项添加一个类名。。使用dataattr将pop的id存储在相应的poc元素中。然后,单击ReadDataAttr。我建议您为这些项添加一个类名。。它会更简单、更好……无论如何,为了使它工作,$必须被jQuery取代……但我不明白为什么每个人都在需要jQuery时写$。。。我太无知了:($是jQuery的别名。只要没有其他可能导致命名空间冲突的js库,你就可以同时使用它们。无论如何,要使它正常工作,$必须被jQuery替换…但我不明白为什么每个人都在需要jQuery时写$。我太无知了:($是jQuery的别名。只要没有其他可能导致命名空间冲突的js库,您就可以同时使用这两个