Get و Set کردن خصوصیات در جی کوئری
مسئله
فرض کنید ما با استفاده از تابع jQuery یک عنصر DOM را انتخاب(select) کرده ایم، و می خواهیم مقدار(value) خصوصیت(attribute) آن عنصر را تنظیم(set) یا دریافت(get) کنیم.
راه حل
جی کوئری یک متد به نام attr() به ما ارائه می دهد که به وسیله ی آن می توانیم مقادیر خصوصیت ها(attribute) را تنظیم(set) یا دریافت(get) کنیم. در کدهای زیر، ما می خواهیم مقدار خصوصیت href یک عنصر <a> را ابتدا تنظیم(set) و سپس دریافت(get) کنیم.
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<a>jquery.com</a>
<script type="text/JavaScript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js">
</script>
<script type="text/JavaScript">
// alerts the jQuery home page URL
alert(
jQuery('a').attr('href','http://www.jquery.com').attr('href')
);
</script>
</body>
</html>
همان طور که می توانید در مثال بالا مشاهده کنید، ما در سند HTML تنها عنصر <a> را انتخاب(select) کردیم و سپس خصوصیت href آن را با یک مقدار تنظیم(set) کردیم، و سپس با استفاده از همان متد attr() مقدار آن خصوصیت را دریافت(get) کردیم. برای انجام این کار، ما فقط نام خصوصیت(attribute) مورد نظر را به متد مربوطه دادیم. اگر تعدادی عنصر <a> در سند(document) وجود داشته باشد، متد attr() اولین عنصر مورد تطابق قرار گرفته(matched) را مورد استفاده قرار می دهد. وقتی که این کدها در داخل یک مرورگر بارگذاری(اجرا) شوند، مرورگر، مقداری که ما برای خصوصیت href تنظیم(set) کرده ایم، را بعنوان یک پیغام alert() به ما نشان می دهد.
اما چون اکنون اکثر عناصر حاوی بیش از یک خصوصیت(attribute) هستند، این امکان وجود دارد که بتوانیم با استفاده از یک متد attr() چندین خصوصیت را تنظیم(set) کنیم. بعنوان مثال، ما در مثال قبل، می توانیم به جای دو پارامتر رشته ای، به متد attr() یک شیء(object) بدهیم و خصوصیت title را نیز تنظیم(set) کنیم:
jQuery('a').attr({'href':'http://www.jquery.com','title':'jquery.com'}).attr('href')
همچنان که می توانیم خصوصیت هایی(attributes) را به عناصر اضافه کنیم، می توانیم خصوصیت ها و مقادیر آنها را از عناصر حذف کنیم. با استفاده از متد removeAttr() می توانیم خصوصیت هایی را از عناصر html حذف کنیم. برای استفاده از این متد، کافیست نام یک خصوصیت که می خواهیم حذف شود را به را به این متد بدهیم. بعنوان مثال داریم:
jQuery('a').removeAttr('title')
توضیحات تکمیلی
علاوه بر متد attr() ،جی کوئری یک سری متد خاص نیز برای کار کردن با خصوصیت class عناصر به ما ارائه می دهد. چون که خصوصیت class می تواند حاوی چندین مقدار مثل class="class1 class2 class3" باشد، از این متدهای خاص، برای مدیریت این مقادیر استفاده می کنیم. این متدهای جی کوئری عبارتند از:
addClass()
این متد، مقدار خصوصیت class را با یک کلاس جدید، آپدیت می کند.
hasClass()
بررسی می کند که آیا یک کلاس(class)، حاوی یک مقدار(value) خاص است یا نه.
removeClass()
یک کلاس یکتا(unique) را از خصوصیت calss حذف می کند در حالیکه مقادیری که قبلا تنظیم(set) شده اند را نگه می دارد.
toggleClass()
اگر یک کلاس وجود نداشته باشد، آن را اضافه می کند و اگر وجود داشته باشد، آن را حذف می کند.
{module کمک نقدی به نویسنده}
- بازدید: 610
1. سعی کنید نظرات شما مرتبط با مقاله ی مورد نظر باشد، در غیر این صورت پاسخ داده نخواهد شد.
2. سوالات خود را به صورت کوتاه بیان کنید و از پرسیدن چند سوال به طور همزمان خودداری کنید.
3. سوال خود را به طور واضح بیان کنید و از کلمات مبهم استفاده نکنید.