【问题标题】:jQuery get href attr remove .htmljQuery 获取 href attr 删除 .html
【发布时间】:2011-11-04 16:10:55
【问题描述】:

我有以下 jQuery:

$('.aboutUs a').live('click', function(e){
    e.preventDefault();

    var clickedElement = $(this).attr('href');
});

如果我 console.log 结果我会得到 page.html。我想要的是删除 .html 但不确定如何。任何人都可以帮忙吗?非常感谢。

【问题讨论】:

    标签: javascript jquery attr


    【解决方案1】:

    你可以只是 replace .html 什么都没有:

    var clickedElement = $(this).attr("href").replace(".html", "");
    

    请注意,如果您的字符串可能包含“.html”的其他实例,那么正则表达式的答案会更好,因为在这种情况下,这将删除第一次出现而不是最后一次出现。但如果情况并非如此(而且听起来不太可能),那么这应该可以正常工作。

    【讨论】:

    • 在极少数情况下,这可能会从 href 中的其他位置删除“.html”。
    • @a'r - 是的,我在您发布该评论之前对其进行了编辑 :) 如果字符串可能包含多个 .html 子字符串,那么我的示例将仅删除第一个。
    【解决方案2】:

    您可以使用正则表达式从字符串末尾删除.html,例如。

    "page.html".replace(/.html$/,'')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-08-05
      • 2011-09-26
      • 1970-01-01
      • 1970-01-01
      • 2012-08-16
      • 1970-01-01
      • 2020-01-21
      • 2015-06-06
      相关资源
      最近更新 更多