Estoy tratando de cambiar la cadena que se muestra en la interfaz usando una función en javascript.
let displayword = document.getElementById("displayword”) console.log(displayword.innerText) //appleDiga, quiero cambiar la letra "l" a otra cosa, diga "i", pero mantenga el resto de las letras sin cambios, ¿cómo soluciono esto?
cosas que he probado
displayword.innerText[3] = “i” // -----does nothing----Estoy confundido por qué el código anterior que usa el índice no hace nada, mientras que el siguiente hace algo
dash.innerText += “i” //appleiPregunta adicional: ¿Por qué el código anterior que usa =+ cambia el formato del texto interno? Quiero mantener la fuente grande pero cambia a la fuente normal del elemento (aquí estoy usando h1).
Gracias:)
Debe consultar la documentación de String , especialmente String.slice y String.substring
En muchos idiomas, las cadenas no se pueden modificar directamente. En cambio, lo "cambia" creando una nueva cadena compuesta de partes del original.
En cuanto a cómo lo harías en tu caso:
var text = displayWord.innerText; text = text.slice(0, 3) + 'i' + text.slice(4) // apple -> appie displayWord.innerText = text;[Código ligeramente editado]
displayword.innerText = displayword.innerText.replace(oldCharacter, newCharacter);Para reemplazar todas las apariciones:
displayword.innerText = displayword.innerText.replaceAll(oldCharacter, newCharacter);