Nasıl örnek Javascript herhangi bir çocuk olup olmadığını kontrol edin.
Basit bir soru, elementByİd üzerinden kapma olduğum bir eleman var(). Nasıl eğer çocuğunuz varsa kontrol edebilirim?
CEVAP
Birkaç yol:
if (element.firstChild) {
// It has at least one
}
ya hasChildNodes()
fonksiyon:
if (element.hasChildNodes()) {
// It has at least one
}
veya childNodes
length
özelliği:
if (element.childNodes.length > 0) { // Or just `if (element.childNodes.length)`
// It has at least one
}
Sadece çocuk hakkında bilmek istiyorsanelemanları(metin düğümleri, öznitelik düğümleri aksine, vb.), bu hedef tarayıcıları, üzerinde çalışabilir(Florian! teşekkür ederim):
if (element.children.length > 0) { // Or just `if (element.children.length)`
// It has at least one element as a child
}
...amabuDOM1, DOM2, tanımlanmış olan children
property dayanmaktadıryaDOM3. Ancak, Chrome, Firefox, Opera, IE6 ve 9 (ve muhtemelen aradaki sürümlerde) ve geçerli (Bu yazı gibi, Kasım 2012) sürümlerinde çalışır.
Eğer bir şey DOM1 tanımlı (belki de gerçekten karanlık tarayıcılar desteği var) kalmak istiyorsan, daha fazla iş yapmak zorunda:
var hasChildElements, child;
hasChildElements = false;
for (child = element.firstChild;
child;
child = child.nextSibling
) {
if (child.nodeType == 1) { // 1 == Element
hasChildElements = true;
break;
}
}
Bütün bunlar DOM1 ve neredeyse evrensel olarak desteklenen bir parçasıdır.
Örneğin bir fonksiyon içinde bu işi yapmak daha kolay olurdu:
function hasChildElement(elm)
{
var rv, child;
if (elm.children)
{
// Supports `children`
rv = elm.children.length !== 0;
}
else
{
// The hard way...
rv = false;
for (child = element.firstChild;
child;
child = child.nextSibling
) {
if (child.nodeType == 1) { // 1 == Element
rv = true;
break;
}
}
}
return rv;
}
Nasıl bir numara NaN olup olmadığını k...
-- Javascript isDOM Nasıl Javascript b...
Nasıl itiraz JavaScript herhangi bir ö...
Nasıl bir dize bir sayı (yüzen) olup o...
Nasıl bir nesne JavaScript özelliği ol...