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&amp;Keyword=foo</li>
    <li data-remove="left">www.somurl.com?up=down&amp;keyword=foo&amp;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')) + ')';
    });