mohsen670

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

9 پست در این موضوع قرار دارد

با سلام. توی کد زیر من از یک متد 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 معرفی کنید. ممنون

0

به اشتراک گذاری این پست


لینک به پست

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

2

به اشتراک گذاری این پست


لینک به پست

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

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


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

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

2

به اشتراک گذاری این پست


لینک به پست

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

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

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

0

به اشتراک گذاری این پست


لینک به پست

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


$(document).ready(function(){

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

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

1

به اشتراک گذاری این پست


لینک به پست

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


jQuery(document).ready(function(){

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

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

0

به اشتراک گذاری این پست


لینک به پست

ارسال شده در (ویرایش شده)

این کد برای 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
0

به اشتراک گذاری این پست


لینک به پست

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

1

به اشتراک گذاری این پست


لینک به پست

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


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

0

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری