RISOLTO Controllare se un elemento è stato creato

Stato
Discussione chiusa ad ulteriori risposte.

EliaRomano

Nuovo Utente
37
3
Buon giorno a tutti! Oggi sto cercando di controllare, tramite JQ, il momento in cui uno o più elementi con una determinata classe vengono creati. Il suddetto elemento è il sottoprodotto di un <select multiple="multiple"> quindi utilizzo già select2. Di seguito trovate il mio tentativo, naturalmente non funzionante. Qualcuno riuscirebbe ad aggiustarlo?

JavaScript:
$(".select2-selection__choice").change(function() {
    console.log($(".select2-selection__choice").attr("title"))
})
 

Mursey

Super Moderatore
Staff Forum
Utente Èlite
8,230
5,659
Puoi provare con qualcosa di più generico:
JavaScript:
$(document).on('DOMNodeInserted', function(e) {
    if ( $(e.target).hasClass('select2-selection__choice') ) {
       console.log($(".select2-selection__choice").attr("title"));
    }
});
 

EliaRomano

Nuovo Utente
37
3
Grazie ma ci sono riuscito, non ho pubblicato la mia soluzione perché non avevo tempo dato che dovevo andare a lavoro. Quando stacco o domani la pubblico
Puoi provare con qualcosa di più generico:
JavaScript:
$(document).on('DOMNodeInserted', function(e) {
    if ( $(e.target).hasClass('select2-selection__choice') ) {
       console.log($(".select2-selection__choice").attr("title"));
    }
});
 
  • Mi piace
Reazioni: Mursey

EliaRomano

Nuovo Utente
37
3
Rieccomi! La mia soluzione per questo problema è la seguente:

JavaScript:
 $(".select2-selection__rendered").ready(function() {
        var animals = []
        const observer = new MutationObserver(mutations => {
            mutations.forEach(function(mutation) {
                if (mutation.addedNodes.length) {
                    var node = mutation.addedNodes[mutation.addedNodes.length - 1].lastChild.textContent
                    var i = 1
                    for (let x = 0; x < mutation.addedNodes.length; x++) {
                        var test = true
                        while (test) {
                            if (animals.includes(node)) {
                                nodeFirst = mutation.addedNodes[mutation.addedNodes.length - i]
                                if (nodeFirst == undefined) {
                                    return
                                } else {
                                    node = nodeFirst.lastChild.textContent
                                }
                                i++
                            } else if (node == "" || node == undefined) {
                                return
                            } else {
                                animals.push(node)
                                test = false
                            }
                        }
                    }
                }
            })
        });
        const myList = document.querySelector('#select2-razzaListaCani-container')
        observer.observe(myList, {
            childList: true
        });
  })
 
Ultima modifica:
Stato
Discussione chiusa ad ulteriori risposte.

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!