11521 sujets

JavaScript, DOM et API Web HTML5

Bonjour à tous,

je me demandais comment je pouvais faire afin d'accèder à une certaine <div> pour cacher l'ensemble du bloc.

voici mon code html :

                   <div class="div1">
                        <button class="accordion">
                            <div class="div2">
                                <div class="div3">
                                    info1
                                </div>
                            </div>
                            <div class="div4">
                                <div class="dropdown">
                                    <input type="button "onclick="function1()" class="dropbtn" value="Actions">
                                    <div id="myDropdown" class="dropdown-content">
                                        <a href="update.php">Modifier</a>
                                        <a href="delete.php">Supprimer</a>
                                        <a href="insert.php">Insérer</a>
                                    </div>
                                </div>
                            </div>
                        </button>
                    </div>
                   <div class="div1">
                        <button class="accordion">
                            <div class="div2">
                                <div class="div3">
                                    info1
                                </div>
                            </div>
                            <div class="div4">
                                <div class="dropdown">
                                    <input type="button "onclick="function1()" class="dropbtn" value="Actions">
                                    <div id="myDropdown" class="dropdown-content">
                                        <a href="update.php" class="update">Modifier</a>
                                        <a href="delete.php" class="delete">Supprimer</a>
                                        <a href="insert.php" class="insert">Insérer</a>
                                    </div>
                                </div>
                            </div>
                        </button>
                    </div>


En fait, quand l'utilisateur clique sur le lien "supprimer", j'aimerais bien bien cacher le bloc <div> dont la classe est "div1" du bloc sur lequel l'utilisateur a cliqué sur le lien "supprimer" ?

Voici le code javascript / Ajax :


$(document).ready(function(e){
    $('.delete').on('click', function(e){
        e.preventDefault();
        var $a = $(this);
        var $url = $a.attr('href');
        $a.text('Chargement');

        $.ajax($url)
            .done(function(data, text, jqxhr){
                $a.parents('div').fadeOut();
            })
            .fail(function(jqxhr){
                alert(jqxhr.responseText);
            })
            .always(function(){
                $a.text('Actions');
            });
    });
});


Merci pour votre aide.

Bonne journée
Thierry
Bonjour THIRT05,
pour atteindre le div.div1 il faut faire :
$(fils).parents('.div1')

"fils" étant n'importe quel fils direct ou indirect de ".div1"
Bonjour aliasdmc,

merci pour votre réponse.

En effet, il semble prendre le bon bloc.

Encore merci de votre aide.

Bonne journée
Thierry