ورود

View Full Version : سوال: اضافه کردن Attribute در هنگام لود صفحه



Ho.Mysterious
جمعه 20 آبان 1390, 19:09 عصر
درود ,

من توی صفحه چند تا لینک دارم که بین تگ <a> هستن ولی href ندارن.

با جی‌کوئری می‌خوام وقتی صفحه لود شد محتوای هر کدوم از <a> ها رو بردارم و توی اتریبوتٍ href خودش بزارم.

var sstr = $(this).text();
$(this).attr('href', sstr);


شده این ولی از this نمیشه استفاده کرد .. چه کنم ؟؟ eventای هست که موقع لود کار کنه ؟

alismith
شنبه 21 آبان 1390, 02:39 صبح
سلام

این کد باید مشکل شما رو حل کنه :

$(document).ready(function(){

$("a").each(function(){

$(this).attr("href",$(this).text());


});

});



<a href="">link1</a>
<a href="">link2</a>
<a href="">link3</a>





موفق باشید

mehdi.mousavi
شنبه 21 آبان 1390, 11:35 صبح
سلام.
کد شما، کلیه anchor element های موجود در صفحه رو انتخاب میکنه (فارغ از اینکه اونها href دارن یا خیر). برای اینکه کد مورد نظر فقط روی anchor element هایی کار کنه که href ندارن، بهتره کد رو بدین شکل تغییر بدیم:

$(function () {
$('a:not("[href]")').each(function () {
var link = $(this);
link.attr('href', link.text());
});
});


البته اگر href وجود داشته باشه ولی مقدارش empty باشه، باید با استفاده از filter ابتدا link های مورد نظر رو جدا کنیم، سپس روی اونها عملیات مزبور رو انجام بدیم.

موفق باشید.