从 jQuery 的父属性中提取数字

发布于 2024-08-19 07:11:55 字数 456 浏览 3 评论 0原文

通过单击“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>

By clicking on the "mylink" I want the link to be replaced by the number "123", which is extracted from parent tag.
I think I'm not doing the ".match(...." right.

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>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

浮生面具三千个 2024-08-26 07:11:55

您只有一个匹配项,因此您需要使用第 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);
  });
});

如果有可能不会发生匹配,那么您需要将匹配分配给一个变量,并且仅在发生匹配时才进行替换(变量为非空)。

You only have one matching so you need to use the 0th match (zero-based array). Also, it will return the entire match, so if you want just the number you'll need to remove the comment- text from it.

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

If there's a possibility that no match will occur, then you'd want to assign the matches to a variable and only do the replacement(s) if a match occurs (the variable is non-null).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文