Olá. Não estou conseguindo conferir se o que a pessoa digitou está igual a frase. Sempre dá esse erro de que substr não é função. O que faço?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Olá. Não estou conseguindo conferir se o que a pessoa digitou está igual a frase. Sempre dá esse erro de que substr não é função. O que faço?
Oi Mirella.
As funções substr()ou substring() servem para pegar partes de uma string. Olhe esse exemplo:
var str = "Substring pega partes de uma string!";
var res = str.substr(3, 9);
No caso, o valor de res será: string pe. Eu cortei a string no índice 3 (quarto caractere, contando que começa por 0) e peguei os primeiros 9 caracteres que existiam pra frente. Note que para utilizar o método, você precisa usá-lo em uma string e receber o resultado em outra.
De toda forma, esse método não é o que você procura. O que você pode usar é o operador ===, tipo:
if ($("#meuId").html() === "Mirella")
{
...
}
Eu estava tentando reproduzir o que ensinou na aula 5 sobre substr. Eu entendi o que é, só não estou conseguindo fazer funcionar.
function inicializaMarcadores(){
var frase = $(".frase").text;
campo.on("input", function(){
var digitado = campo.val();
var comparavel = frase.substr(0, digitado.length);
if (digitado == comparavel){
campo.addClass("borda-verde");
campo.removeClass("borda-vermelha");
}else{
campo.addClass("borda-vermelha");
campo.removeClass("borda-verde");
}
});
}
Fiz tudo conforme fala na aula, mas como não estava funcinando, fui ver pelo console e aparece "frase.substr is not a function"
Ah sim, desculpe.
Altere esse trecho:
var frase = $(".frase").text;
Para isso:
var frase = $(".frase").text();
Se não funcionar, substitua o text() para html().