Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript]Problem ze sprawdzeniem czy div istnieje
Forum PHP.pl > Forum > Przedszkole
sebap123
Witam,

Mam problem z funkcją, która zostaje uruchomiona w momencie naciśnięcia na obiekt. Wtedy powinny być tworzone dwa nowe divy - jeśli takie divy już istnieją nic nie powinno się dziać.
Funkcja wygląda następująco:
Kod
addNewDiv: function(){
            var ni = document.getElementById('info');
            var newdivX = document.createElement('div');
            var divIdNameX = 'positionXDiv'+dragDrop.El.id;
            var newdivY = document.createElement('div');
            var divIdNameY = 'positionYDiv'+dragDrop.El.id;
            newdivX.setAttribute('id',divIdNameX);
            newdivY.setAttribute('id',divIdNameY);
            newdivX.innerHTML = 'Nowy divX'+dragDrop.El.id;
            newdivY.innerHTML = 'Nowy divY'+dragDrop.El.id;
            if(document.getElementById(newdivX)==null)
                ni.appendChild(newdivX);
            if(document.getElementById(newdivY)==null)
                ni.appendChild(newdivY);
        },

Niestety funkcja i tak i tak zawsze dopisuje kolejne elementy przy kliknięciu. Jeśli się zmieni
Kod
if(document.getElementById(newdivX)==null)
ten warunek na
Kod
if(document.getElementById(newdivX)!=null)
to oczywiście nic nie wyświetli i tutaj akurat działa.
Ma ktoś może jakąś sugestie jak naprawić tą funkcję?
kamil4u
Funkcja document.getElementById szuka jak sama nazwa wskazuje po ID. U Ciebie zmienna 'newdivX' nie trzyma id, a referencję do elementu. Podpowiedź: zobacz co jest w zmiennej divIdNameX smile.gif

PS. Wystarczy samo:
Kod
if( document.getElementById('test') ){ /*...*/ }
sebap123
Dzięki wielki. Tej referencji powiem szczerze nie byłem świadomy. Dzięki za pomoc.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.