🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.javascript
Article #51702

Re: dlaczego firstChild oraz childNodes[0] mam undefined?

#51702
From: zpksoft
Date: Wed, 15 Mar 2017 15:29
87 lines
4244 bytes
W dniu środa, 15 marca 2017 09:45:26 UTC+1 użytkownik Cezary Tomczyk napisał:
> On 15/03/2017 06:20, Jivanmukta wrote:
> > Mam na stronie:
> >
> >         <div id="client_mobile_field">
> >             <div class="label"><label class="obligatory">Telefony
> > komórkowe:</label></div>
> >             <div class="control">
> >                 <div>
> >                     <?php echo my_form_input('client_mobile1',
> > my_set_value('client_mobile1', $fullAnnouncementNo, $announcement),
> > 'id="client_mobile1" maxlength="16" size="16" style="width: 16ex"
> > class="mobile" onfocus="onFocusElement(this.id);"
> > onblur="onBlurElement(this.id);"'),
> >                                form_error('client_mobile1'); ?>
> >                 </div>
> >                 <div>
> >                     <?php echo my_form_input('client_mobile2',
> > my_set_value('client_mobile2', $fullAnnouncementNo, $announcement),
> > 'id="client_mobile2" maxlength="16" size="16" style="width: 16ex"
> > class="mobile" onfocus="onFocusElement(this.id);"
> > onblur="onBlurElement(this.id);"'),
> >                                form_error('client_mobile2'); ?>
> >                 </div>
> >             </div>
> >             <div class="tip">...<b>albo</b> telefon komórkowy
> > (9-cyfrowy)...</div>
> >         </div>
> >
> > Podczas obsługi zdarzenia onfocus elementu client_mobile1 potrzebuję
> > dobrać się do jedo etykiety. Robię to tak:
> >
> > function divLabelOf(elem) {
> >     if (elem) {
> >         var p = elem;
> >         while (p.className != 'control') {
> >             p = p.parentNode;
> >         }
> >         p = p.parentNode;
> > alert("div " + p.id);
> > alert("firstChild " + p.firstChild.id);
> > alert("childNodes[0] " + p.childNodes[0].id);
> >         return p.firstChild;    // powinno być div
> >     }
> >     return null;
> > }
> >
> > Wyświetla mi się:
> >
> > div client_mobile_field
> > firstChild undefined
> > childNodes[0] undefined
> >
> > Dlaczego undefined? Jak poprawić funkcję divLabelOf? Byłbym wdzięczny za
> > podpowiedź.
> 
> Sprawdź, jaki obiekt kryje się pod p.firstChild. Może zamiast 
> p.firstChild użyj q.querySelector('tutaj CSS selector do żądanego 
> elementu').
> 
> A poza tym, zrezygnuj z onfocus i onblur inline i skorzystaj z delegacji 
> zdarzeń (event delegation):
> 
> https://bfkot.wordpress.com/2010/09/02/event-delegation-delegowane-nasluchy-czyli-wydarzenia-w-delegacji-czesc-1/
> 
> -- 
> Cezary Tomczyk
> https://www.aslint.org/ - walidacja Accessibility
> Blokowanie automatycznego odtwarzania video na gazeta.pl w Google 
> Chrome: https://goo.gl/0kCRLS

Spodobało mi się to w art. do którego dałeś link:

<cytat>
1. Podstawowy sposób dodawania nasłuchów
$(document).ready(function() {
$('.clickable-div').click(nasluch_1);
});
//rownowazny zapis
$(document).ready(function() {
$('.clickable-div').click(nasluch_1);
});
</cytat>

:-)

Paweł
Technical Details
Message-ID: <2a831b59-e7fe-4756-a7f4-efe2495f981b@googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!news.glorb.com!w124no3370678itb.0!news-out.google.com!15ni16093itm.0!nntp.google.com!u69no3364831ita.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
References: <oaaiu9$jmk$1@news.icm.edu.pl> <oaauv5$1i7t$1@csiph.com>

Show Full Headers
Complete Article Headers
X-Received: by 10.157.21.97 with SMTP id z30mr1697345otz.147.1489591750299;        Wed, 15 Mar 2017 08:29:10 -0700 (PDT)
X-Received: by 10.157.46.1 with SMTP id q1mr406366otb.2.1489591750214; Wed, 15 Mar 2017 08:29:10 -0700 (PDT)
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!news.glorb.com!w124no3370678itb.0!news-out.google.com!15ni16093itm.0!nntp.google.com!u69no3364831ita.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.lang.javascript
Date: Wed, 15 Mar 2017 08:29:09 -0700 (PDT)
In-Reply-To: <oaauv5$1i7t$1@csiph.com>
Complaints-To: groups-abuse@google.com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=83.21.169.240; posting-account=8ND_mgoAAAD5J9y9fnaTB1Kcu7xKWk7Q
NNTP-Posting-Host: 83.21.169.240
References: <oaaiu9$jmk$1@news.icm.edu.pl> <oaauv5$1i7t$1@csiph.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <2a831b59-e7fe-4756-a7f4-efe2495f981b@googlegroups.com>
Subject: Re: dlaczego firstChild oraz childNodes[0] mam undefined?
From: zpksoft <zpksoft@op.pl>
Injection-Date: Wed, 15 Mar 2017 15:29:10 +0000
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit