Javascript 如何在jquery中使用li的id从字符串中删除特定的子字符串
我有绳子 0=>zxz##5=>zxzx##5=>zxz##10=>zxz##1=>asdasd#12=>asdsad##10=>asdsad 其中0,5,10是ID,文本是值,##是分隔符 我有id,我想删除id的值 这是我下面的代码,请检查并建议 代码1 代码2Javascript 如何在jquery中使用li的id从字符串中删除特定的子字符串,javascript,jquery,Javascript,Jquery,我有绳子 0=>zxz##5=>zxzx##5=>zxz##10=>zxz##1=>asdasd#12=>asdsad##10=>asdsad 其中0,5,10是ID,文本是值,##是分隔符 我有id,我想删除id的值 这是我下面的代码,请检查并建议 代码1 代码2 我尝试了这两种代码,但都不起作用误读了问题,对不起 要替换该字符串中的每个键=>值对,可以使用正则表达式: var string = "0=>zxz##5=>zxzx##5=>zxz##10=>zxz##1=
我尝试了这两种代码,但都不起作用误读了问题,对不起 要替换该字符串中的每个键=>值对,可以使用正则表达式:
var string = "0=>zxz##5=>zxzx##5=>zxz##10=>zxz##1=>asdasd##12=>asdsad##10=>asdsad";
function remove_feature(id) {
var x = new RegExp("" + id + "\=>[a-z0-9]+(##)?", "gi")
return string.replace(x, "");
}
因此,remove#u功能(5)
打印“0=>zxz#10=>zxz#1=>asdasd#12=>asdsad#10=>asdsad”
如果id参数是一个存在于您提供的字符串中的键,并且应该返回相应的名称,那么您可以使用JSON.parse函数假装解析url。因此,您可以将分隔符替换为
&
s,将=>
替换为=
s:
var string = "foo=>bar##john=>doe";
function remove_feature(id) {
// id should be something left hand side the =>, like 0 or 1
var _string = string.replace('##', '&').replace('=>', '='),
obj = JSON.parse('{"' + decodeURI(_string).replace(/"/g, '\\"').replace(/&/g, '","').replace(/=/g,'":"') + '"}'),
_id = obj["" + id];
$('#' + _id).remove();
}
用法:
remove_功能(“foo”)
将删除id为#bar的元素
使用jquery尝试此功能:
也可以删除相同的多个ID
var k=“0=>zxz###5=>zxzx##5=>zxz##10=>zxz##1=>asdasd##12=>asdsad###10=>asdsad”;
var obj=k.split(“##”);
var removeItem=5;
警报('删除元素之前的数组='+obj)
obj=jQuery.grep(obj,函数(值){
返回值。拆分('=>')[0]!=removeItem;
});
警报(“删除元素后的数组=”+obj)代码>
请给我们展示一个所需输出的示例。我之所以对这一点投了赞成票,是因为你自己已经展示了一个很好的尝试,但你应该清楚你想要发生什么。如果我通过id=5,那么字符串应该是这样的0=>zxz##5=>zxx#10=>zxz#1=>asdasd#12=>asdsad##10=>asdsad你在你的示例中多次使用同一个id(5
)。这是错误还是目的?如果是后者,您是说要删除具有该ID的第一项吗?抱歉,这是一个拼写错误。我只是将字符串5和10复制并粘贴到JSON数据第1行第4列的对象中的属性名称之后,它的给定语法error=SyntaxError:JSON.parse:expected':'
var string = "0=>zxz##5=>zxzx##5=>zxz##10=>zxz##1=>asdasd##12=>asdsad##10=>asdsad";
function remove_feature(id) {
var x = new RegExp("" + id + "\=>[a-z0-9]+(##)?", "gi")
return string.replace(x, "");
}
var string = "foo=>bar##john=>doe";
function remove_feature(id) {
// id should be something left hand side the =>, like 0 or 1
var _string = string.replace('##', '&').replace('=>', '='),
obj = JSON.parse('{"' + decodeURI(_string).replace(/"/g, '\\"').replace(/&/g, '","').replace(/=/g,'":"') + '"}'),
_id = obj["" + id];
$('#' + _id).remove();
}