jQuery Quitar la cadena de la cadena de

Estoy tratando de quitar una cadena de una cadena de jQuery.

Aquí es la cadena:

username1, username2 and username3 like this post.

Me gustaría quitar username1, de esta lista.
He intentado añadir a la lista a una matriz con .split(', ') pero tengo un error. Estoy asumiendo que el error es porque no cada palabra tiene una coma después de ella.

Siempre quiero quitar el primer elemento de la lista. username1 es sólo un ejemplo de nombre de usuario. El primer elemento siempre será el nombre de usuario del usuario actualmente conectado si les ha gustado este post.

He intentado:

  var updated_list = $('#post_like_list').html().replace('username1, ', '');
  $('#post_like_list').html(updated_list);

Pero que no actualización de la lista. No obstante, la actualización de la lista cuando se utiliza .text() en lugar de .html() pero tengo los enlaces dentro de la lista que tengo que preservar.

  • ¿Esta cadena se inicia como una matriz en JS o qué? Basado en la pregunta en este punto, la respuesta podría ser: .replace(‘username1, ‘, «), pero dudo de que es lo que está después…
  • Por favor enviar el código correspondiente en su pregunta. Si usted está recibiendo un error, el de proporcionar el código que estás usando que da el error.
  • Usted tiene que aclarar: Es username1 siempre el mismo? ¿Siempre quiere quitar el nombre de la primera o ¿desea quitar un nombre específico? Y esto no es un jQuery pregunta, es un JavaScript que se trate.
  • post algunos ejemplos de html y estoy seguro de que alguien será capaz de entender esto. sólo tenemos 1/2 de la ecuación en el momento.
InformationsquelleAutor Carl Markham | 2011-02-23

5 Kommentare

  1. 150

    bastante seguro de que usted sólo quiere el viejo y simple función de reemplazar. uso como esta:

    myString.replace('username1','');

    supongo que si desea quitar el punto y coma final hacer esto en su lugar:

    myString.replace('username1,','');

    edición:

    aquí está el código de sitio específico:

    jQuery("#post_like_list-510").text().replace(...) 
    • he intentado eso y tengo el error(firebug) jQuery(«#post_like_list-510»).reemplazar no es una función
    • eso es porque la myString variable sólo es una cadena, no un objeto jquery. para hacer jQuery(«#post_like_list-510»).texto().reemplazar(…)
    • usted probablemente querrá jQuery(‘#post_like_list-510’).val().reemplazar(…)
    • markham: La función es una función de cadena, no una función jQuery.
    • val() no devuelve el resultado esperado en un objeto como un div o span, si recuerdo correctamente.
  2. 17

    Para agregar en nathan gonzalez respuesta, tenga en cuenta que usted necesita para asignar el reemplazado objeto después de llamar a replace función, ya que no es un mutador función:

    myString = myString.replace('username1','');
  3. 9

    Si solo quieres quitar «username1» puede utilizar un simple reemplazar.

    name.replace("username1,", "")

    o usted podría utilizar split como usted ha mencionado.

    var name = "username1, username2 and username3 like this post.".split(",")[1];      
    $("h1").text(name);

    jsfiddle ejemplo

  4. 1

    Supongo que el texto «username1» es sólo un marcador de posición para lo que eventualmente será una real nombre de usuario. Suponiendo que,

    • Si el nombre de usuario es no permite tener espacios, a continuación, sólo tienes que buscar por todo antes de que el primer espacio o una coma (por lo tanto encontrar tanto «u1 le gusta esto» y «u1, u2 y u3 como esta»).
    • Si es permitido tener un espacio, probablemente sería más fácil para envolver cada nombre de usuario en su propio span etiqueta en el lado del servidor, antes de enviarlo al cliente y, a continuación, trabajar con las etiquetas span.
  5. 1

    Bastante seguro de que nadie conteste a su pregunta exacta, los quiere para texto dinámico

    var newString = myString.substring( myString.indexOf( "," ) +1, myString.length );

    Toma una subcadena a partir de la primera coma, al final

    • Funciona bien! Acabo de cambiar ‘str’ con ‘micadena’ para la solución de trabajo.

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea