[英]how to remove particular substring from string using id of li in jquery
我有绳子
其中0,5,10是ID,文本是值,而##是定界符。
我有身份证,我想删除身份证的价值
这是我的以下代码,请检查并提出建议。
代码1
function remove_feature(id)
{
var feature_str = $("#features_post").val();
var feature_string = feature_str.replace(['id=feature_str'],'', 'gi');
window.jQuery("#features_post").val(feature_string);
window.jQuery("#"+id+"").remove();
alert(feature_string);
return true;
}
码2
function remove_feature(id)
{
var feature_str = $("#features_post").val();
var feature_string = feature_str.replace(id,'', 'gi');
window.jQuery("#features_post").val(feature_string);
window.jQuery("#"+id+"").remove();
alert(feature_string);
return true;
}
我已经尝试了两种代码,但无法正常工作
误解了问题,对不起。
要替换该字符串中的每个键=>值对,可以使用正则表达式:
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_feature(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_feature("foo")
将删除ID为#bar
的元素。
用jquery尝试一下: http : //jsfiddle.net/h0qtxn7d/也可以删除相同的多个ID。
var k = "0=>zxz##5=>zxzx##5=>zxz##10=>zxz##1=>asdasd##12=>asdsad##10=>asdsad"; var obj = k.split("##"); var removeItem = 5; alert('Array before removing the element = ' + obj) obj = jQuery.grep(obj, function(value) { return value.split('=>')[0] != removeItem; }); alert('Array after removing the element = ' + obj);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.