پیدا کردن عدد لیست در jquery

love4php

Active Member
سلام خدمت اساتید و دوستان محترم
من در صفحه یک لیست دارم


کد:
<ul>
<li>a</li>
<li>b</li>
</ul>


می خوام با jquery کاری کنم که وقتی کاربری روی a کلیک کرد عدد 1 وو وقتی روی b کلیک کرد عدد 2 را alert بده !!

کد:
<script>
	
	$("ul li").click(function(){alert(XXXX)})
</script>
جای x ها چه کدی قرار بدم ؟
 

k2-4u

Well-Known Member
بدون Jquery خیلی راحت میشه این کارو انجام داد به صورت زیر
PHP:
<ul>
<li onclick="alert('1')">a</li>
<li onclick="alert('2')">b</li>
</ul>

از همه نظر بهتره
 
آخرین ویرایش:

love4php

Active Member
دوست عزیز بنده می خواهم عدد لیست alert داده بشه نه یک عدد استاتیک !!
اینجایی که کلیک میشه عدد ش چیه !! چندومین المنت لیستم هستش !!
 
من یه تابع خودم نوشتم(البته بصورت تست هستش و فقط قصدم این بود که کار نو رو راه بندازه!)فقط ترتیبشون رو بر عکس نشون میده.اگه تونستی خودت درستش کن والا بگو تا اونم درست کنم :
HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<script language="JavaScript" type="text/javascript">
function m(o){
var obj=o;
var i=0;
while(obj.nextSibling!=null){
obj=obj.nextSibling;
i++;
}
alert(i);
}
</script>
</head>
<body>
<ul id="u">
<li id="m" onclick="m(this)">a</li>
<li onclick="m(this)">b</li>
<li id="m" onclick="m(this)">a</li>
<li onclick="m(this)">b</li>
<li id="m" onclick="m(this)">a</li>
<li onclick="m(this)">b</li>
</ul>  
</body>
</html>
 

peyman1987

Member
بدون Jquery خیلی راحت میشه این کارو انجام داد به صورت زیر
PHP:
<ul>
<li onclick="alert('1')">a</li>
<li onclick="alert('2')">b</li>
</ul>
از همه نظر بهتره

خوب این کار باعص میشه کد استاتیک کار کنه یعنی برای هر li باید یه کد onClick هم نوشت.

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

HTML:
<html>
    <head>
        <script src='jquery.js'></script>
        <script>
            $(document).ready(function(){
                $('ul li').click(function(){
                    var current_li = this;
                    var all_lis = $('ul li');
                    var counter = 0;
                    
                    $(all_lis).each(function(){
                        if(this == current_li){
                            alert(counter);
                            return;
                        }
                        counter++;
                    });
                });
            });
        </script>
    </head>
    <body>
        <ul>
            <li>a</li>
            <li>b</li>
            <li>c</li>
        </ul>
    </body>
</html>
 
بدون jquery هم میشه خاصیت onclick عناصر li رو یکجا ست کرد.و نخوایم که برای هر کدوم یه onclick بنویسیم.(منظورم با getElementsByTagName هستش).ولی اگه دارین از jquery استفاده میکنین و این همه اسکریپت رو لود میکنید کار بهتر اینه که از قابلیت های اون استفاده کنید.
 

peyman1987

Member
بدون jquery هم میشه خاصیت onclick عناصر li رو یکجا ست کرد.و نخوایم که برای هر کدوم یه onclick بنویسیم.(منظورم با getElementsByTagName هستش).ولی اگه دارین از jquery استفاده میکنین و این همه اسکریپت رو لود میکنید کار بهتر اینه که از قابلیت های اون استفاده کنید.


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

جدیدترین ارسال ها

بالا