رفتن به مطلب

کار نکردن سلکتور برای کلاس هایی که با متد html() ایجاد شدن


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

با سلام. توی کد زیر من از یک متد html برای نوشتن یک عبارت استفاده کردم. حالا داخل اون عبارت، یک لینک close هست که می‌خوام با jquery انتخابش کنم. اما نمیشه. کد:


<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js">
</script>
<script>
$(document).ready(function(){
$("button").click(function(){
$("p").html('<a href="javascript:void(0)" class="close">˟</a>');
});
$("a.close").on('click',function(e){
$("article").fadeOut(500);
});
});
</script>
</head>
<body>
<button>Change content of all p elements</button>
<p>This is a paragraph.</p>
<article>This is article.</article>
</body>
</html>

لطف کنید اگر متدی جایگزین html هست یا روش دیگری برای انجام fadeOut معرفی کنید. ممنون

لینک به ارسال

شما بگید دقیقا میخواین چه پروسه ایی طی بشه بهتر میشه کمک کرد و پیشنهاد داد

لینک به ارسال

برای اینکه با jquery بتونید شی را در صفحه ببینید لازم است در هنگام لود وجود داشته باشد یا آژاکسی لود شود کلاسسی که با خود جی کوئری ساخته می شود دیده نمی شود

می تونید کد را در تگ p بگذارید و کد جی کوئری را تغییر دهید به


<script>
$(".close").hide();
$("button").click(function() {
$("p .close").show();
});
$(".close").click( function() {
$("article").fadeOut(500);
})
</script>

و اینکه هم از لحاظ سرعت لود و هم از لحاظ اصول جی کوئری بهتره که کدتون بعد از کدهای html مربوطه قرار بگیره

لینک به ارسال

ممنونم، من یک سایتی طراحی می کنم که وقتی روی هر لینک کلیک بشه، متن مربوط به پست رو یا صفحه رو توی یک کادر به کمک آجاکس لود میکنه. حالا این متن لود شده یک لینک به نام close داخلش هست، گوشه ی همون کادر که متن داخلشه. اگه صحبت ایمان درست باشه، تنها راهش اینه که لینک close رو از متنی که لود میشه خارج کنم و داخل کادر article بزارم.

البته این مشکلی هست که توی jquery 1.10 دارم، توی 1.4 راحت کار میکنه کدم.

بازم ممنون از وقتتون. اگه راه دیگری به ذهنتون رسید بهم بگید.

لینک به ارسال

کدی که شما دارید در جی کوئری های دیگه هم نباید اینکار را انجام بده چون با


$(document).ready(function(){

شروع می شه که یعنی لود شدن صفحه و با ذلود صفحه اجزاش رو تحویل می گیره

فکر کنم دستور Array را قبلا اجرا می کردید این نسخه هم می تونید ازش استفاده کنید

لینک به ارسال

طبعا برای jquery های قبل از


jQuery(document).ready(function(){

و تابع live() به جای on() استفاده می‌کردم.

از array چطور میتونم استفاده کنم برای این منظور خاص؟

لینک به ارسال

این کد برای jquery 1.7.2 هست:

برای اجرا، کد رو به عنوان قالب یکی از صفحات وردپرس قرار میدم.


<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
</script>
<script type="text/javascript">
var home_url = "<?php echo esc_url( home_url( ) ); ?>";
</script>
<script>
jQuery(document).ready(function(){
jQuery('.close').live('click',function(e){
jQuery("article").fadeOut(500);
});
$.ajaxSetup({cache:false});
jQuery('a').live('click',function(e){
var className = $(this).attr("class");
jQuery('.'+className+'t').fadeIn(1000);
var post_link = home_url + '?p=' + className;
$('.'+className+'t').html("Please Wait..."+'<a href="javascript:void(0)" class="close">˟</a>');
$('.'+className+'t').load(post_link);
return false;
});
});

</script>
<style>
article{
position: absolute;
background: #333;
color: white;
width: 400px;
height: 200px;
top: 50px;
border-radius: 7px;
display:none;
}
.close{
color: #fff;
background-color: red;
padding: 10px 10px 0px 10px;
font-size: 20px;
float: left;
text-decoration: none;
}
</style>
</head>
<body>
<article class="1t"></article>
<a href="javascript:void(0)" class="1">click</a>
</body>
</html>

و ابتدای قالب single.php کد:


<a href="javascript:void(0)" class="close">˟</a>

رو قرار میدم. و کاملا کار می‌کنه، اما با اصلاحاتی که لازمه برای jquery 1.10 (مثل استفاده از on بجای live و ...) که قرار میدم کار نمی‌کنه.

....

این توضیح هم برای دوستان مبتدی که می‌خوان از کد استفاده کنند.

راجع به کد بالا، بجای عدد ۱ در


<article class="1t"></article>
<a href="javascript:void(0)" class="1">click</a>

ID پست یا صفحه ای که می‌خوام بصورت آجاکس لود بشه رو قرار میدم.

ویرایش شده توسط mohsen670
لینک به ارسال

دوستان عزیز مشکل رو از طریق قرار دادن لینک close داخل article حل کردم. کسی کدهاش رو لازم داشت بگه بزارم براتون.

لینک به ارسال

این هم متدی برای jquery 1.10


$('button').click(function(){
var close = $('<a href="javascript:void(0)" class="close">˟</a>');
$('p').html('');
close.appendTo('p');
});

لینک به ارسال

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

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

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

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

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

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

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

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

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