بدست آوردن تعداد Node های فرزند

idocs

Member
من برای بدست آوردن مقادیر نودهای فرزند از کد زیر استفاده می کنم ولی این کد اجرا نمی شه. چطور می تونم مقدار نودهای فرزند تگ p رو بدست بیارم؟

HTML:
<SCRIPT type="text/javascript" >
function ss()
{
    var d = document.getElementById('dd').childNodes[1];
    alert(d);
}
</SCRIPT>

<p id="dd" onclick="ss()"><div>eeeeeeeeeeeeeee</div><div>eeeeeeeeeeeeeee</div><div>eeeeeeeeeeeeeee</div></p>
 

eAmin

Well-Known Member
کد JavaScript شما هیچ مشکلی نداره، مشکل شما اینه که هنوز درست درک نکردید که در html تگ p و div برای چه منظوری، کی و کجا باید مورد استفاده قرار بگیرن.
شما این کدها رو با کد خودتون مقایسه کنید تا متوجه این مشکل ساده بشید:
کد:
<script type="text/javascript" >
function ss()
{
    var d = document.getElementById('dd').childNodes[1];
    alert(d);
}
</script>

<div id="dd" onclick="ss()"><p>srhrhrhsrjsjrjjs</p><p>srhrhrhsrjsjrjjs</p><p>srhrhrhsrjsjrjjs</p></div>
موفق باشید.
 

idocs

Member
کد JavaScript شما هیچ مشکلی نداره، مشکل شما اینه که هنوز درست درک نکردید که در html تگ p و div برای چه منظوری، کی و کجا باید مورد استفاده قرار بگیرن.
شما این کدها رو با کد خودتون مقایسه کنید تا متوجه این مشکل ساده بشید:
کد:
<script type="text/javascript" >
function ss()
{
    var d = document.getElementById('dd').childNodes[1];
    alert(d);
}
</script>

<div id="dd" onclick="ss()"><p>srhrhrhsrjsjrjjs</p><p>srhrhrhsrjsjrjjs</p><p>srhrhrhsrjsjrjjs</p></div>
موفق باشید.

این مطلب رو که خودم می دونمولی شاید لازم شد که جایی تگ دایو رو توی تگ p قرار بدیم، در این شرایط چیکار باید کرد؟

همچنین من برای بدست آوردن مقدار node اول از دو دستور زیر استفاده می کنم ولی مقدار نال یا undefined برمی گردده. این چه دلیلی داره؟
HTML:
    var d = document.getElementById('dd').childNodes[1].data;

    var d = document.getElementById('dd').childNodes[1];.nodeValue
 

eAmin

Well-Known Member
این مطلب رو که خودم می دونمولی شاید لازم شد که جایی تگ دایو رو توی تگ p قرار بدیم، در این شرایط چیکار باید کرد؟

همچنین من برای بدست آوردن مقدار node اول از دو دستور زیر استفاده می کنم ولی مقدار نال یا undefined برمی گردده. این چه دلیلی داره؟
HTML:
    var d = document.getElementById('dd').childNodes[1].data;

    var d = document.getElementById('dd').childNodes[1];.nodeValue
خب اگر میدونید چرا به اینصورت تگها رو در مکان نامناسب بکار بردید؟
ببنید هر زبان برنامه نویسی، زبان های نشانه گذاری و خلاصه هرچیزی که به کامپیوتر مربوط میشه، دارای استانداردهایی هستند که باید از اونها پیروی کنید در غیر اینصورت به مشکل میخورید. شما مجبورید برای اینکه به نتیجه برسید، این استانداردها رو رعایت کنید.

خطای syntax در کد شما:
کد:
  var d = document.getElementById('dd').childNodes[1][COLOR="Red"][B];[/B][/COLOR].nodeValue
کاراکتری که قرمز شده رو حذف کنید.
از این کدها با توجه به پشتیبانی شدن یا نشدن در مرورگرهای مختلف میتونید استفاده کنید:
کد:
var d = document.getElementById('dd').childNodes[1].nodeValue;
var d = document.getElementById('dd').childNodes[1].innerHTML;
var d = document.getElementById('dd').childNodes[1].textContent;
innerHTML اکثرا در تمامی مرورگرها پشتیبانی شده.
 
آخرین ویرایش:

جدیدترین ارسال ها

بالا