Estoy tratando de eliminar el ? carácter de todos los valores href de anclaje con Javascript. Por ejemplo, hay muchas URL como esta:
<a href="https://example.com/something/?">my anchor</a> Intenté esto pero obtener el index of is not a function
var url = jQuery("a"); var a = url.indexOf("?"); var b = url.substring(a); var c = url.replace(b,""); url = c;Para lograr esto, puede proporcionar una función a prop() que se ejecuta en todos los elementos de la colección. En la función, puede aceptar el valor href actual como argumento y luego usar replace() para eliminar el ? caracteres:
$('a').prop('href', (i, h) => h.replace(/\?/g, '')); <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <a href="https://example.com/something/?">my anchor 1</a> <a href="https://example.com/somethingelse/?">my anchor 2</a> <a href="https://example.com/?something">my anchor 2</a> Tenga en cuenta que esto reemplazará todas las instancias de ? desde cualquier lugar en el valor href . Si solo desea eliminarlo del final de la cadena, cambie la expresión regular a /\?$/g