JSFiddle - React, Tailwind, and code Playground
by David Thomas
HTML
<ul>
<li data-remove="keyword">www.someurl.com?Keyword=foo</li>
<li data-remove="Keyword">www.someurl.com?Keyword=foo</li>
<li data-remove="up">www.someurl.com?up=down&Keyword=foo</li>
<li data-remove="left">www.somurl.com?up=down&keyword=foo&left=right</li>
</ul>
CSS
li {
margin: 0.5em auto;
font-size: 90%;
}
li::before {
content: 'Looking for "' attr(data-remove) '" ';
display: block;
color: #f30;
}
JavaScript
function removeParam(url, param) {
var queryAt = url.indexOf('?') + 1;
if ((!url || !param) || !queryAt) {
return false;
}
else {
if (url.indexOf(param) == -1) {
return url;
}
else {
var all = url.substring(queryAt),
nameValues = all.split('&'),
newNameValues = [],
parts;
for (var i = 0, len = nameValues.length; i < len; i++) {
parts = nameValues[i].split('=');
if (parts[0] !== param) {
newNameValues.push(nameValues[i]);
}
}
return url.substring(0, queryAt) + newNameValues.join('&');
}
}
}
$('li').text(
function(i,t){
return t + ' (' + removeParam($(this).text(),$(this).attr('data-remove')) + ')';
});