بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

ایجاد منو (حذف و افزودن کلاس)

مدیریت گفتگو
w3b.programm3r 10 سال پیش
آخرین تغییر: 10 سال پیش

سلام

من دارم یک منو میسازم ، میخوام زمانی که کاربر روی دکمه کلیک کرد بیاد یک کلاس active رو به اون li اضافه کنه

حالا یک مشکلی که دارم اینه ، زمانی که کاربر روی یکی از گزینه کلیک کرد کلاس active بهش اضافه میشه ولی اگر روی یک گزینه دیگه هم کلیک کنه باز اون هم کلاس acitve میگیره و گزینه قبلی کلاس active از بین نمیره

چطور میتونم پیدا کنم که کدوم یکی از li ها کلاس active رو داره که اون رو حذف کنم و li جدید رو بهش این کلاس رو اضافه کنم

برای مثال کد زیر :

 <ul>
<li>...</li>
<li>...</li>
<li>...</li>
</ul>

نظرات

hamedlim 10 سال پیش
درست منظورتون رو نفهمیدم ولی به نظرم با جاوا میشه
Mr Mehdi 10 سال پیش
خیلی گنگ توضیح داده بودید اما طبق چیزی که من متوجه شدم بهتره شما اول کلاس active دکمه قبلی رو حذف کنید و بعدش کلاس رو به دکمه جدید اضافه کنید. D:
w3b.programm3r 10 سال پیش
ببنید زمانی که روی یک li کلیک میشه یک کلاس active بهش اضافه میشه ، حالا زمانی که شما روی یک li دیگه کلیک کنید به اون هم کلاس active اضافه میشه . سوال من اینجاست که چطور li قبلی که کلاس active رو داره پیدا کنم و remove کنم

پاسخ‌ها 1

کاشی زاده 10 سال پیش

سلام ،
با استفاده از JQuery دستوری مینویسید که کل li هایی که کلاس active دارند رو پیدا کنه و این کلاس رو از توش حذف کنه و در نهایت به المنتی که روش کلیک شده کلاس رو با دستور JQuery اضافه میکنید .

 $( ".active" ).each(function() {
$(this).removeClass( "active" );
});

$(element).addClass( "active" );

نظرات

w3b.programm3r 10 سال پیش
با تشکر فروان ، فقط اگر تعداد li ها زیاد باشه توی سرعت تاثیر میزاره درسته ؟
کاشی زاده 10 سال پیش
شما فقط یک li دارید که active هست پس تعدادش زیاد نیست .

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .