دستیابی به کد html از طریق جاوا اسکریپت
سلام و خسته نباشید ، من می خوام با جاوا اسکریپت به کد های html صفحه ام دسترسی داشته باشم نمی دونم باید چی کار کنم( با inner html به داخل تگ هام دسترسی دارم می خوام به خود تگ ها و attribute ها هم دسترسی داشته باشم ) ممنون میشم اگ راهنمایی کنید.
1 پاسخ
سلام،
دسترسی به کدهای HTML توسط JS بوسیله DOM انجام میشه. به محتویات داخل تگ ها که گفتی دسترسی داری، برای کار با Attribute ها میتونی از متدهای setAttribute برای افزودن Attribute یا تغییر Attribute، از getAttribute برای گرفتن مقدار یک Attribute و removeAttribute برای حذف یک attribute استفاه کنی. مثال:
<p id="p" title="Paragraph Title">Test Paragraph</p>
<script>
var pTag = document.getElementById('p');
alert(pTag.getAttribute('title')); // get value of title attribute and show it
pTag.setAttribute('title','New Title!'); // change title attribute
alert(pTag.getAttribute('title'));
pTag.removeAttribute('title'); // remove title attribute
alert(pTag.getAttribute('title'));
pTag.setAttribute('class','test');
alert(pTag.getAttribute('class'));
</script>
برای اینکه بتونی کلاس های یک تگ رو تغییر بدی از خصوصیت classList که متدهای زیر رو داره استفاده کن:
- متد add: برای اضافه کردن یک کلاس
- متد contains: چک میکنه که یک تگ کلاس مورد نظر رو داره یا نه
- متد remove: برای حذف یک کلاس استفاده میشه
- متد toggle: اگر کلاس وجود داشته باشه حذفش میکنه در غیر اینصورت اضافه میکنه.
مثال:
<p id="p" class="a">Test Paragraph</p>
<script>
var pTag = document.getElementById('p');
pTag.classList.add('c'); // add c class to p tag
alert(pTag.classList.contains('b')); // return false
alert(pTag.classList.contains('a')); // return true
pTag.classList.toggle('a'); // remove class a because it's already exists
pTag.classList.toggle('a'); // add class a because it doesn't exists
</script>
فقط دقت کن که خاصیت classList توی همه مرورگر ها پشتیبانی نمیشه. اگه دنبال راهی میگردی که همه مرورگرها ازش پشتیبانی کنن استفاده از jQuery هست.
موفق باشی...