Tengo una cadena como esta:

This is a 'item:value' and another 'item2:value:2'.

Quiero usar Javascript / jQuery para obtener el siguiente resultado:

This is a <span class="text">item:value</span> and another <span class="text">item2:value:2</span>.
0
cosmicstar23 14 may. 2016 a las 17:43

3 respuestas

La mejor respuesta

Puede ejecutar una expresión regular replace() en el texto entre comillas simples:

 var str = "This is a 'item:value' and another 'item2:value:2'."

 var newString = str.replace(/'(.*?)'/g, function myFunction(x){
    x = "<span class='text'>"+ x +"</span>"
    return x;
 })

Fiddle https://jsfiddle.net/ce1qm0za/

0
Cory 14 may. 2016 a las 15:10

Usar concatenación:

 $("div").html('This is a <span class="text">' + item + ':' + value + '</span> and another <span class="text">' + item2 + ':' + value2 + '</span>');
0
haltersweb 14 may. 2016 a las 14:56

Prueba esto:

<script>
    var string = "This is a 'item:value' and another 'item2:value:2'.";
    var res = string.split("'");
    var output = res[0] + "<span class='text'>" + res[1] + "</span>" + res[2] + "<span class='text'>" + res[3] + "</span>" + res[4] ; 
    console.log(output);
</script>

Espero que esto sea lo que quisiste decir.

0
P. Kumar 14 may. 2016 a las 15:02