1
resposta

Erro no console: Uncaught TypeError: frase.split is not a function

meu JS:

var frase = $(".frase").text;
var numPalavras = frase.split(" ").length;
var tamanhoFrase = $("#tamanho-frase");

tamanhoFrase.text(numPalavras);

meu HTML:

<!DOCTYPE html>
<html lang="pt-br">

<head>
    <meta charset="UTF-8">
    <title>Alura Typer</title>
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css"
        integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
</head>

<body class="container">
    <h2 class="display-1">Alura Typer</h2>
    <p class="frase">uma duas tres quatro cinco</p>

    <ul class="informacoes">
        <li><span id="tamanho-frase">0</span> palavras</li>
        <li>10 segundos</li>
    </ul>



    <script src="js/jquery.js"></script>
    <script src="js/main.js"></script>

    <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"
        integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo"
        crossorigin="anonymous"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js"
        integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49"
        crossorigin="anonymous"></script>
    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"
        integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy"
        crossorigin="anonymous"></script>
</body>

</html>

Não sei o que está ocorrendo.

1 resposta

Fala ai Lucas, tudo bem? Acho que faltou chamar a função text.

Seu código:

var frase = $(".frase").text;

Mas, deveria chamar a função:

var frase = $(".frase").text();

Para pegar o valor do conteúdo e adicionar na variável frase, do jeito que você fez, está passando uma função para a variável.

Espero ter ajudado.