通过点击“myLink的”我要由数字“123”,这是从父标签中提取替换的链接。 我觉得我不是在做“.match(....”权利。

jQuery的:

$(document).ready(function(){
  $(".link").click(function(){
    var comid = $(this).parents("div.comment").attr("class").match(/comment-([0-9]+)/)[1];
    $(".link").replaceWith(comid);
  });
});

HTML:

<div class="comment comment-123 ct">
  <div class="link">mylink</div>
</div>
有帮助吗?

解决方案

您只所以需要使用第0匹配(基于零的阵列)有一个匹配。此外,它会返回整场比赛,所以如果你想只是你需要从中取出comment-文本的数量。

$(document).ready(function(){
  $(".link").click(function(){
    var comid = $(this).parents("div.comment")
                       .attr("class")
                       .match(/comment-[0-9]+/)[0]
                       .replace('comment-','');
    $(".link").replaceWith(comid);
  });
});

如果有一种可能性,即不匹配会发生,那么你会希望比赛分配给一个变量,如果出现匹配只做替换(S)(变量是非空的)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top