首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取href数组并重新构建它的jQuery干净方法

问获取href数组并重新构建它的jQuery干净方法
EN

Stack Overflow用户
提问于 2015-01-16 14:56:29
回答 1查看 343关注 0票数 1

我仍然在学习,虽然我的方法有效,但我不相信它是优雅的,可以改进。基本上,我们有一个无法控制输出的系统,所以我使用下面的代码获取锚点的href并将其操作到正确的位置。

代码语言:javascript
复制
<a class="shop-return" href="/_shop/category/prodect/">Link</a>

jQuery

代码语言:javascript
复制
//set url object
var link = $(".shop-return");
//get url objects href value + split it into parts
var linkUrl = link.attr("href").split("/");
    /*remove the starting blank space and the ending 
    product part of url*/
    linkUrl.splice(-2,2)
    linkUrl.shift();

//build new link
var newLinkUrl = linkUrl.join("/");
//set new link on object
link.attr('href', "/" + newLinkUrl + "/");

任何建议,如何使这更清洁/更有效率-如果我已经做过的事情,在立即或没有,将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-16 15:06:52

另一种方法是使用正则表达式将代码缩短一点:

代码语言:javascript
复制
var link =  $(".shop-return");
var linkUrl = link.attr("href").match(/\/([_a-z]+)\/([a-z]+)\//);

link.attr('href', linkUrl[0]);

这使用regEx匹配。linkUrl[0]包含前缀和后缀斜杠'/‘on的url,linkUrl[1]是第一个url部分,linkUrl[2]是第二个

正则表达式中的括号选择“匹配”是什么,所以:link.attr("href").match(/\/([_a-z]+)\/([a-z]+)\//);

返回["/_shop/category/", "_shop", "category"]

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27986703

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档