jquery 从URL中删除最后一个元素

km0tfn4u  于 2022-11-22  发布在  jQuery
关注(0)|答案(7)|浏览(186)

我需要从span中删除url的最后一部分。
我已经

<span st_url="http://localhost:8888/careers/php-web-developer-2"
st_title="PHP Web Developer 2" class="st_facebook_large" displaytext="facebook"
st_processed="yes"></span></span>

我需要取st_url并从中删除php-web-developer-2,因此它只是http://localhost:8888/careers/
但是我不知道该怎么做。php-web-developer-2不会总是这样,但是它不会包含任何/。它将总是一个-分隔的字符串。
任何帮助!!??

lf5gs5x2

lf5gs5x21#

就这么简单

var to = url.lastIndexOf('/');
to = to == -1 ? url.length : to + 1;
url = url.substring(0, to);
x6h2sr28

x6h2sr282#

下面是一个稍微简单一点的方法:

url = url.slice(0, url.lastIndexOf('/'));
yduiuuwa

yduiuuwa3#

$('span').attr('st_url', function(i, url) {
    var str = url.substr(url.lastIndexOf('/') + 1) + '$';
    return url.replace( new RegExp(str), '' );
});

zlwx9yxi

zlwx9yxi4#

用这个

$('span').attr('st_url', function(i, url) {
    var to = url.lastIndexOf('/') +1;

    x =  url.substring(0,to);
    alert(x);
})​

您可以看到Demo

zphenhs4

zphenhs45#

您 可以 使用 正则 表达式 来 解析 " url 的 最 后 一 段 " :

var url="http://localhost:8888/careers/php-web-developer";

var baseurl=url.replace(new RegExp("(.*/)[^/]+$"),"$1");

中 的 每 一 个
RegExp 基本 上 就是 说 :" 匹配 任何 内容 , 然后 是 斜杠 , 然后 是 所有 非 斜杠 , 直到 字符 串 结尾 " 。
replace 函数 获取 匹配 部分 , 并 将 其 替换 为 字符 串 的 " anything , then a slash " 部分 。
RegexBuddy 有 大量 关于 这 一切 的 信息 。

bvhaajcl

bvhaajcl6#

您 可以 在 这里 看到 它 的 工作 方式 :http://jsfiddle.net/xKxLR/ 的 最 大 值

var url = "http://localhost:8888/careers/php-web-developer-2";
var regex = new RegExp('/[^/]*$');
console.log(url.replace(regex, '/'));

中 的 每 一 个

c8ib6hqw

c8ib6hqw7#

首先 你 需要 解析 标签 。 接下来 尝试 提取 st _ url 值 , 这 是 你 的 url 。 然后 使用 一 个 循环 从 提取 的 url 的 最 后 一 个 字符 开始 , 并 忽略 它们 , 直到 你 看到 一 个 '/' 。 这 就是 你 应该 提取 你 想要 的 东西 的 方法 。 记住 这 一 点 , 并 尝试 编写 代码 。

相关问题