آیا ویژگی value به فرم استاندارد توسط setAttribute قابل تغییر است؟

پرسیده شده
فعالیت 934 روز پیش
دیده شده 308 بار
0

سلام. در قسمت های آخر این جلسه, فرمودین value به فرم استاندارد توسط setAttribute قابل تغییر نیست. توی انجمن هم دوستی زده بود که موقع تغییر, حالت غیر استاندارد از value ایجاد میشه. اگر غیر استاندارد باشه پس نباید بتونیم به صورت Object Property بهش دسترسی داشته باشیم ولی میشه. میشه توضیح بدید به چه صورت هست؟

<!DOCTYPE html>
<html>
    <head>
        <title>آموزش استفاده از attribute ها در DOM در جاوا اسکریپت</title>
    </head>
    <body style="text-align: center;">
        <h1>سلام به همه دانشجویان عزیز و برنامه‌نویسان حرفه‌ای آینده</h1>
        <hr />

        <div id="myDiv" class="test-calss" data-developer="Mehrdad">
            <input type="checkbox" checked test="atr" />
        </div>

        <script>
            
        </script>
    </body>
</html>
'use strict';

// console.log(myDiv.childNodes[1].type);
// console.log(myDiv.childNodes[1].getAttribute('test'));
// myDiv.childNodes[1].setAttribute('new-atr', 'my-atr');
// myDiv.childNodes[1].setAttribute('new-atr', 'my-atr2');

let input = myDiv.childNodes[1];
console.log(input.value); // 1

input.value = "newVal";
console.log(input.value); // 2

input.setAttribute('value', "newVal2");
console.log(input.value); // 3

// console output
1 => on
2 => newVal
3 => newVal2

 

فایل پیوست

قاسمی
قاسمی

18 مهر 00

0
حذف شده

سلام

امیدوارم سوال را درست متوجه شده باشم!

ببینید value در شی input تغییر میکنه ولی داخل DOM این تغییر اعمال نمیشه

یعنی اینکه شما به جای اینکه input.value را لاگ کنید هر بار بعد از تغییر مجدد مقدار value اینپوت مورد نظر را با استفاده از سایر توابع موجود بگیرید و بررسی کنید آیتا تغییر اعمال شده است یا خیر؟

فایل پیوست

مهرداد دادخواه

توسط

مهرداد دادخواه

20 مهر 00