如何简化此Javascript子字符串切片搜索函数
我在一个HREF链接的HTML页面中有这样一个URL:如何简化此Javascript子字符串切片搜索函数,javascript,html,django,url,Javascript,Html,Django,Url,我在一个HREF链接的HTML页面中有这样一个URL: <a id="view_server_link" href="{% url 'view_server' serverid=1 %}"> 我正试图分离出这一点: http://site.domain.com/page/ 在JS变量中,以便以后可以动态修改HREF URL。所有这些都在起作用,但我的URL缩减/隔离功能似乎有些臃肿。我希望这里有人能找到一个简化的方法。再说一次,这对我很有用 注意:我不想假设/1/部分总是数字1
<a id="view_server_link" href="{% url 'view_server' serverid=1 %}">
我正试图分离出这一点:
http://site.domain.com/page/
在JS变量中,以便以后可以动态修改HREF URL。所有这些都在起作用,但我的URL缩减/隔离功能似乎有些臃肿。我希望这里有人能找到一个简化的方法。再说一次,这对我很有用
注意:我不想假设/1/部分总是数字1
var $view_server_href = $('#view_server_link').attr('href').substring(0, $('#view_server_link').attr('href').slice(0, -1).search(/\/\w*$/) + 1);
听起来您只是想将
/1/
更改为结尾处的/
(其中1
可以是任何数字序列)。如果是这样,一个简单的.replace(/\/\d+\/$/,'/')
应该可以:
var$view\u server\u href=$(“#view\u server\u link”).attr('href')。替换(/\/\d+\/$/,'/');
log($view\u server\u href)代码>
可以尝试:
url=url.split("/");
url.pop();//remove last elem
url=url.join("/");
简短(或多或少:/(更准确:模糊):
这是离题的,但我建议使用.prop('href'))
。它的内容更可靠。它将始终包含一个绝对URI,而属性可以包含几乎所有内容。注意。我刚刚阅读了它并更新了我的代码。谢谢!这个答案非常有趣。谢谢!请通过将tjs解决方案标记为答案来结束此问题;)非常感谢。完美的非常感谢。
url=url.split("/");
url.pop();//remove last elem
url=url.join("/");
url=url.split("/").map((e,i,arr)=>i==arr.length-1?undefined:e).join("/");