Importante

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!

21
respostas

Collapse não funciona: DOMException (jQuery)

Galera,

O collapse não funciona para os meus parágrafos.

A tela carrega normalmente (no inspetor de elementos, também não apresenta nenhum erro no console).

Porém, quando faço debug (aba Sources), o seguinte erro surge:

"DOMException: Failed to execute 'querySelectorAll' on 'Element': '*,:x'", referenciando o seguinte trecho do jQuery: "a.querySelectorAll("*,:x")"'

Já fiz o teste com a versão 3.2.1 e 2.2.4 do jQuery.

Estou usando a versão 3.3.7 do Bootstrap.

Alguém tem alguma idéia do que pode estar acontecendo? :/

21 respostas

Oi Gabriel, tudo bem? Você poderia colar o código completo aqui pra gente avaliar o que pode ser?

Olá Wanderson,

Este é o código que estou utilizando...

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <link rel="stylesheet" type="text/css" href="bootstrap/css/bootstrap.min.css">
        <meta name="viewport" content=" width=device-width, initial-scale=1">
    </head>
    <body>
        <div class="container">
            <h2>Sobre nós</h2>
            <img class="img-responsive" src="img/empresa.jpg" alt="Foto de Empresa">

            <h2 data-toogle="collapse" data-target="#primeiro-paragrafo">Desde 1935</h2>
            <p id="primeiro-paragrafo" class="collapse">A TopCasaFina Arquitetura está no mercado desde...</p>

            <h2 data-toogle="collapse" data-target="#segundo-paragrafo">Desde 1935</h2>
            <p id="segundo-paragrafo" class="collapse">A TopCasaFina Arquitetura está no mercado desde...</p>

            <h2 data-toogle="collapse" data-target="#terceiro-paragrafo">Desde 1935</h2>
            <p id="terceiro-paragrafo" class="collapse">A TopCasaFina Arquitetura está no mercado desde...</p>
        </div>
    </body>
    <script src="jquery-3.2.1.min.js"></script> 
    <script src="bootstrap/js/bootstrap.min.js"></script>
</html>

Gabriel, pelo seu código que parece OK, eu chuto que o problema está no jQuery. Se não me engano, a versão 3.3.7 do bootstrap não suporta o jQuery 3, no qual teve algumas quebras de compatibilidade. Tenta usar a versão 2 do jQuery e ver se funciona por favor?

Wanderson e Gabriel,

Acabei de fazer essa aula e usei:

  • bootstrap-3-3-7/js/bootstrap.min.js
  • jquery-3.2.1.min.js

E funcionou. Não faço ideia do que pode ser...

Estou com o mesmo problema, alguem conseguiu resolver ?

e por onde eu posso baixa as versões antigas do jquery ?

Alana, desculpa a demora, mas no site do jquery você tem um archive link: http://jquery.com/download/#past-releases

Na página que o link aponta, você consegue achar uma versão mais antiga.

Mas antes, vocês poderiam informar se estão usando a versão mais recente do browser que estão usando? Qual é a versão, navegador e sistema operacional que estão usando?

estou usando a versão jquery-3.2.1.min.js, o navegador = google chrome e o SO = windows 10

Alana, você tentou uma versão mais antiga do jQuery? A 2.2 por exemplo? Resolveu pra você?

Fiz novas tentativas com JQuery 3.2.1, 2.2.4 e 1.12.4 com Bootstrap 3.3.7 e agora até mesmo com o 4.0.0 (beta). Porém o erro permanece o mesmo. Estou usando Chrome versão 62 e IE versão 11 :(

Nossa gente, isso tá bem estranho. Gabriel, me disponibiliza seu projeto pra que eu investigue isso mais de perto por favor?

estou com o mesmo erro, o meu também não funciona

Felipe, me disponibiliza seu projeto de alguma forma pra mim testar por favor?

Boa tarde. Eu estou com o mesmo problema, o collapse não funciona de modo algum. Fiz igual ao Auro luis porém sem resultado. O que pode ser?

Gente, alguém por favor leia minha mensagem pedindo um zip do projeto pra que eu teste! Pode ser qualquer um! Ronald, Felipe, Gabriel ou qualquer pessoa com o problema, me disponibilizem um zip do projeto de vocês por favor.

Pessoal, por alguma razão o colapse só funcionou quando eu troquei o script do jquery. Deve ser a compatibilidade. Eu setei o seguinte:

<script
  src="https://code.jquery.com/jquery-2.2.4.min.js"
  integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44="
  crossorigin="anonymous"></script>

A fonte está aqui: https://code.jquery.com/

Ótimo Marcos! Pessoal, vejam a solução do Marcos e testem. Caso funcione sem problemas, deem feedback aqui por favor.

Olá Gabriel.

Não sei se conseguiu resolver o problema com as considerações dos nossos colegas.

De toda forma eu vi que você colocou seu código assim:

<h2 data-toogle="collapse" data-target="#primeiro-paragrafo">Desde 1935</h2>
            <p id="primeiro-paragrafo" class="collapse">A TopCasaFina Arquitetura está no mercado desde...</p>

tenta trocar odata-toogle="collapse" por

data-toggle="collapse"

Espero ter ajudado.

Gabriel, dá um feedback aqui pra gente?

Também estou com o mesmo problema.

Segue meu html.

<html>
    <head>
        <meta charset="utf-8">
        <link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
        <meta name="viewport" content="width=device-width, initial-scale=1">
    </head>

    <body>

        <div class="container">
            <h1>
                Sobre Nós
            </h1>
            <img src="img/empresa.jpg" class="img-responsive"/>
            <h2 data-toggle = "collapse" data-target = "#primeiro-paragrafo">Desde 1935</h2>
            <p id = "primeiro-paragrafo" class = "collapse in">A TopCasa Fina Arquitetura está no mercado desde... </p>

            <h2 data-toggle="collapse" data-target="#primeiro-paragrafo">Desde 1935</h2>
            <p id="primeiro-paragrafo" class="collapse in">A TopCasa Fina Arquitetura está no mercado desde... </p> 

        </div>
        </div>
    </body>
    <script
  src="https://code.jquery.com/jquery-2.2.4.min.js"
  integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44="
  crossorigin="anonymous"></script>
    <script src="js/bootstrap.min.js"></script>
</html>

Igor, acabei de testar seu código e está tudo bem com ele, não tive problema nenhum. A única coisa que ajustei foram os ids dos parágrafos. Você não pode ter dois ids iguais na página.