Javascript 使用jQuery从href获取Word

Javascript 使用jQuery从href获取Word,javascript,jquery,Javascript,Jquery,嗨 所以我得到了一个脚本,它将普通锚href的转换为id href(例如:/10001-Link1到#Link1)。现在,只要对每个要转换为id链接的锚定链接重复代码,就可以了。但我想让它不那么静。因此,脚本应该自动从当前的anchor href中提取正确的单词,并用url的其余部分替换该单词,并在其前面放置一个#,而不是为每个锚定链接重复代码 下面是仅适用于第一个URL的代码: $(文档).ready(函数(){ $('LIA')。每个(函数(){ var oldUrl=$(this.att

所以我得到了一个
脚本
,它将普通
锚href的
转换为
id href
(例如:
/10001-Link1
#Link1
)。现在,只要对每个要转换为
id链接的
锚定链接
重复代码,就可以了。但我想让它不那么静。因此,脚本应该自动从当前的
anchor href
中提取正确的单词,并用url的其余部分替换该单词,并在其前面放置一个
#
,而不是为每个
锚定链接重复代码

下面是仅适用于第一个URL的代码:

$(文档).ready(函数(){
$('LIA')。每个(函数(){
var oldUrl=$(this.attr(“href”);
var newUrl=oldUrl.replace(“/10001-Link1”和“#Link1”);
$(this.attr(“href”,newUrl);
});
});


您可以使用正则表达式

。替换(/\/[0-9]{5}-/,“”)将正则表达式匹配替换为空字符串。只需在其前面添加一个
#
,即可获得所需的结果

正则表达式的工作原理如下:

  • \/
    查找
    /
    (需要转义)

  • [0-9]{5}
    查找5个数字

  • -
    寻找(你永远不会相信)一个
    -

$(文档).ready(函数(){
$('LIA')。每个(函数(){
var oldUrl=$(this.attr(“href”);
var newUrl=“#”+oldUrl.replace(/\/[0-9]{5}-/,”);
$(this.attr(“href”,newUrl);
});
});


您可以使用正则表达式

。替换(/\/[0-9]{5}-/,“”)将正则表达式匹配替换为空字符串。只需在其前面添加一个
#
,即可获得所需的结果

正则表达式的工作原理如下:

  • \/
    查找
    /
    (需要转义)

  • [0-9]{5}
    查找5个数字

  • -
    寻找(你永远不会相信)一个
    -

$(文档).ready(函数(){
$('LIA')。每个(函数(){
var oldUrl=$(this.attr(“href”);
var newUrl=“#”+oldUrl.replace(/\/[0-9]{5}-/,”);
$(this.attr(“href”,newUrl);
});
});


您可以这样做:

$(document).ready(function () {
    $('li a').each(function () {
        var url = this.href;
        url = url.split('-')[1];
        this.href = this.href.replace(this.href, "#" + url);
    });
});

您可以这样做:

$(document).ready(function () {
    $('li a').each(function () {
        var url = this.href;
        url = url.split('-')[1];
        this.href = this.href.replace(this.href, "#" + url);
    });
});
您可以使用
/\/\d{0,5}-(.*)$/
执行此操作,这意味着:从
/
、5位数字和
-
到字符串末尾

代码:

$('li a')。每个(函数(){
this.href='#'+this.href.match(/\/\d{0,5}-(.*)$/).pop();
});

您可以使用
/\/\d{0,5}-(.*)$/
来执行此操作,这意味着:从
/
,5位数字和
-
到字符串末尾

代码:

$('li a')。每个(函数(){
this.href='#'+this.href.match(/\/\d{0,5}-(.*)$/).pop();
});


您可以使用lookbehind断言(它应该有适当的支持):



您可以使用lookbehind断言(它应该有适当的支持):



工作正常。。。我唯一不明白的是这些/和\是如何工作的。。。这怎么叫。。。有什么教程可以让我读吗?@MarkBaijens不用担心:D我没有投反对票,所以我不会删除它;)但我会为yas投上一票:p@Pelle2010,我编辑了一篇解释。如果你有更多关于它的问题,请随意提问。@MarkBaijens好的。。。现在我明白了很多。。。非常感谢。效果很好。。。我唯一不明白的是这些/和\是如何工作的。。。这怎么叫。。。有什么教程可以让我读吗?@MarkBaijens不用担心:D我没有投反对票,所以我不会删除它;)但我会为yas投上一票:p@Pelle2010,我编辑了一篇解释。如果你有更多关于它的问题,请随意提问。@MarkBaijens好的。。。现在我明白了很多。。。非常感谢。您应该添加解释以帮助OP了解问题/解决方案-仅代码答案不是IMO的答案:)您应该添加解释以帮助OP了解问题/解决方案-仅代码答案不是IMO的答案:)