ورود

View Full Version : مبتدی: استفاده از for each برای ul ها



reza_edu
شنبه 20 اسفند 1390, 18:51 عصر
سلام دوستان یه سوال داشتم میخواستم بدونم که چه جوری میشه با حلقه تمامی عنصر های یه ul که همون li ها میشه رو بررسی کرد .

هدفم از این کار : من میخوام یه لیست با li ها درست کنم که 6 تا هست و میخوام وقتی صفحه لود میشه اولین گزینه { اولین li } انتخاب شده باشه و وقتی کاربر رو هرکدوم از li ها که توشون یه a هست کلیک کرد عکس پشت زمینه اون li کلیک شده عوض شه : من یه همچین کدی میخوام :


<!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=utf-8" />
<title>Untitled Document</title>

<style type="text/css">
a {
text-decoration: none;
}
li{
list-style:none;
}
</style>
</head>

<body>
<ul>
<li id="item1"><a href="#" onclick="changeback()">Iteme1</a></li>

<li id="item2"><a href="#" onclick="changeback()">Iteme2</a></li>

<li id="item3"><a href="#" onclick="changeback()">Iteme3</a></li>

<li id="item4"><a href="#" onclick="changeback()">Iteme4</a></li>

<li id="item5"><a href="#" onclick="changeback()">Iteme5</a></li>

<li id="item6"><a href="#" onclick="changeback()">Iteme6</a></li>

</ul>
<script type="text/javascript">

function changeback(){
//اینجوری بتونم ایدی اونی که کلیک شده رو بدست بیارم
var current-id = document.getElementId();

for each(li in ul){
if(changeback = li.id){
document.getElementById(changeback).bacground :url(../image.jpg);
}else{
document.getElementById(changeback).bacground :none;
}
}
</script>

</body>
</html>


این کد یه مثال بود میدونم غلط هست. راهنمایی کنیذ. با تشکر.

narsic
یک شنبه 21 اسفند 1390, 09:56 صبح
برای اینکه بتونی به اونی که کلیک شده دسترسی داشته باشی میتونی در زمان فراخوانی تابع از کلمه کلیدی this استفاده کنی که باعث ارسال المنت به تابع میشه.
<li id="item6"><a href="#" onclick="changeback(this)">Iteme6</a></li>

</ul>
<script type="text/javascript">

function changeback(obj){
//اینجوری بتونم ایدی اونی که کلیک شده رو بدست بیارم
var current-id = obj.id;
موفق باشید

reza_edu
یک شنبه 06 فروردین 1391, 17:40 عصر
سلام ببخشید دوباره این تاپیک رو بالا کشیدم ولی تو یه قسمت دیگه دوباره به مشکل برخوردم . میخوام بدونم اصلا نمیشه هیچ رقمه عناصر یه ul که تعدادش مشخص نیست رو دونه دونه چک کنم ؟:گریه:

من واسه یه کاره دیگه دوباره به این مشکل برخوردم

anotheruser
دوشنبه 07 فروردین 1391, 08:09 صبح
سلام ببخشید دوباره این تاپیک رو بالا کشیدم ولی تو یه قسمت دیگه دوباره به مشکل برخوردم . میخوام بدونم اصلا نمیشه هیچ رقمه عناصر یه ul که تعدادش مشخص نیست رو دونه دونه چک کنم ؟:گریه:

من واسه یه کاره دیگه دوباره به این مشکل برخوردم



<ul id='ul1'>
<li>
one

</li>

<li>
two
</li>

</ul>


<script>
var ul=document.getElementById("ul1").document.getElementsByTagName("li");

var i=0;
while(i<ul.length)
{
document.write(ul[i].innerHTML+"<br>");
i++;
}
</script>