السلام عليكم ..
يشرفني ان انظم الى هذا المنتدى الجيد الذي ادين له و لأعضاءه بالفضل حتى دون علمهم ..
كنت ولازلت استفيد من مايطرح هنا كثيرا .. واليوم قررت المشاركة معكم لأفيد واستفيد .. فالنقاش في المواضيع يفتح الكثير من الآفاق للسائل والمسئول آملا ان يكون موضوعي في مكانه الصحيح ..
أود النقاش حول اشكالية بسيطة وهي كيفية حساب عدد الـ children الموجودة في node معينة مثلا عند الضغط على اي عنصر ( Section مثلا ) في المستند التالي:
<body onload="init();">
<h1>DOM </h1>
<article>
<section>
<h2>1st Section</h2>
<p> content </p>
</section>
<section>
<h2>2nd Section</h2>
<p>
content
</p>
</section>
</article>
<footer>Some text</footer>
</body>سوف يظهر عدد الاولاد هنا خمسه ويفترض فيه ان يكون اربعه بإستخدام طبعا الكود التالي ..
function whatChildren( e ) {
var myChildren = e.target.childNodes;
alert( "this node is of node-name " + e.target.nodeName + " and has " + myChildren.length + " children" );
}
function init() {
var tmp = document.body.childNodes;
alert( "this document has " + tmp.length + " elements" );
for( var i=0; i< tmp.length; i++ ) {
tmp[ i ].addEventListener( 'click', whatChildren, true );
}
}الاشكالية هو انه يعتبر التالي
<section>
<h2>1st Section</h2>
<p> content </p>
</section>محتلفا عن الآتي من حيث عدد الـ children :
<section>
<h2>1st Section</h2><p> content </p>
</section>طبعا السبب انا فسرته انه قاعد يحسب التكست نود او المساحات البيضاء او السطر الجديد لست متأكد أيهم .. مارأيكم اين السبب ..