sanjeshpc sanjeshpc یکشنبه 26 اسفند 1397 09:10 ب.ظ نظرات ()

یک تجربه و نکته خوب.
مشکلی وجود داشت که دقیقا تو متن یکسان با کلاس یکسان در دو صفحه وجود داشتند که امکان تغییر کلاس و یا اضاف کردن کلاس جدید نبود.
تنها تفاوت قابل تمایز این بود که یکی از این قسمت ها فقط متن خالی بود و متن دیگه حاوی لینک بود . همین موضوع کمک کرد که بشه با این کد جاوااسکریپت به اون متنی که لینک داشت کلاس جدید اضافه کرد:


$("li:not(:has(a))").addClass("current");


$("li:has(a)").addClass("current");

و یه مثال دیگه و کامل تر

jQuery.fn.thatHasNo = function(element, method) {
if (typeof method === “undefined” || method === null) method = “children”;
return this.not(function() {
return $(this)[method](element).length;
});
};


$("li").thatHasNo("a", "children").addClass("current");
//...
$("li").thatHasNo("a", "find").addClass("current");
//...
$("li").thatHasNo(".class", "siblings").addClass("lame")


اضافه کردن کلاس با جاوااسکریپت

ادامه مطلب ...