سؤال

لماذا ينقذ هذا البرنامج النصي (أي) أو عصا (FF) في خلية الجدول الأولى التي تحتوي على نص يجده؟

<!html>
<head>
<script type="text/javascript">
function CheckChildren(obj)
{
        alert(obj.id + ' ' + obj.tagName + ' ' + obj.childNodes.length);
        for ( i = 0; i < obj.childNodes.length; i++)
        {
                CheckChildren(obj.childNodes[i]);
        }
        alert(obj.id);
        return false;
}
</script>
</head>
<body>

<table id="table">
<tr id="a"><td id="b">b</td><td id="c">c</td></tr>
<tr id="d"><td id="e">e</td><td id="f">f</td></tr>
</table>
<input type="button" onclick="CheckChildren(document.getElementById('table'))" value="click">
</body>
</html>
هل كانت مفيدة؟

المحلول

حاول وضع كلمة "var" قبل "i" في حلقة الخاص بك.

  for ( var i = 0; i < obj.childNodes.length; i++)

بدون ذلك ، يشير الكود الخاص بك إلى متغير عالمي "I" ، لذلك يعيد كل تكرار متكرر إلى الصفر.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top