一尘不染

删除某个字符后的所有内容

javascript

有什么方法可以删除某个角色之后的所有内容,或者只是选择该角色之前的所有内容?我从href到“?”都得到了值,并且总是会有不同数量的字符。

像这样

/Controller/Action?id=11112&value=4444

我只希望href是/Controller/Action,所以我想删除“?”之后的所有内容。

我现在正在使用这个:

 $('.Delete').click(function (e) {
     e.preventDefault();

     var id = $(this).parents('tr:first').attr('id');                
     var url = $(this).attr('href');

     console.log(url);
 }

阅读 626

收藏
2020-05-01

共1个答案

一尘不染

var s = '/Controller/Action?id=11112&value=4444';
    s = s.substring(0, s.indexOf('?'));
    document.write(s);

我还应该提到,本机字符串函数比正则表达式快得多,后者仅应在必要时才使用(这不是其中一种情况)。

更新代码以不添加“?”:

var s = '/Controller/Action';
var n = s.indexOf('?');
s = s.substring(0, n != -1 ? n : s.length);
document.write(s);
2020-05-01