رفتن به مطلب

مشکل با addclass در jquery


پست های پیشنهاد شده

سلام و درود

دوستان گرامی من با تابع addclass در جی کوئری به مشکل خوردم. می خوام کلاس buy-butt رو به یک تگ a خاص اضافه کنم اما جواب نمیده!؟

$( ".package-info .textwidget p a" ).addClass( "buy-butt" );

 

لینک به ارسال

سلام و درود @unid_user

 

کدت که درسته ممکنه کدت قبل از لود کامل DOM اجرا بشه.

به این شکل کن کدت رو شاید نتیجه داد.

(function($) {
	$(function() {
		$(".package-info .textwidget p a").addClass("buy-butt");
	});
})(jQuery);

 

لینک به ارسال
در 7 ساعت قبل، mehran-be گفته است :

سلام و درود @unid_user

 

سلام. ممنون. همین الان که وارد سایت شدم دیدم درست شده. منظور از DOM چیه؟

لینک به ارسال
در 40 دقیقه قبل، unid_user گفته است :

منظور از DOM چیه؟

منظور این بود تا زمانی که اون تگ a شما لود نشده باشه توی مروگر جاوا اسکریپت نمیتونه بهش دسترسی داشته باشه و کلاس بهش اضافه کنه.

به طور مثال اگر کدی که قرار دادید توی بخش head صفحه باشه و تگ a شما هم که طبیعتا در body هست وقتی کد اجرا میشه هنوز لینکه اضافه نشده به صفحه که جی کوئری بهش کلاس اضافه کنه.

لینک به ارسال
در هم اکنون، mehran-be گفته است :

منظور این بود تا زمانی که اون تگ a شما لود نشده باشه توی مروگر جاوا اسکریپت نمیتونه بهش دسترسی داشته باشه و کلاس بهش اضافه کنه.

خوب این موضوع مشکل ایجاد میکنه دیگه درسته؟ مثلا من درون صفحه یه تگ a د ارم و میخوام استایل خاصی رو بگیره و اگه تگ مورد نظر لود نشه خیلی خوشایند نیست. راه حلش همون پاسخ قبلی تون هست؟

لینک به ارسال
در 5 دقیقه قبل، unid_user گفته است :

خوب این موضوع مشکل ایجاد میکنه دیگه درسته؟ مثلا من درون صفحه یه تگ a د ارم و میخوام استایل خاصی رو بگیره و اگه تگ مورد نظر لود نشه خیلی خوشایند نیست. راه حلش همون پاسخ قبلی تون هست؟

بله راه حلش اینه که کد شما بعد از لود کامل HTML اجرا بشه.

که توی جی کوئری باید کد ما داخل:

$(document).ready(function() {
  // Your Code
});

// OR

$(function() {
  // Your Code
});

قرار بگیره.

در صورتی هم که از جی کوئری استفاده نمیکنید باید کد شما داخل:

document.addEventListener('DOMContentLoaded', function () {
  // Your Code
});

قرار بگیره.

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...