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.