2013-03-01 63 views
0

我是jQuery的新手,我有一個關於從變量獲取我需要的值的問題。 更具體的我在html文件中有這個列表。jQuery從變量中選擇一個值

<ul id="menu"> 
<li class="mainmenu" id="newsarticles"><a href="#">News &amp; articles</a> 

    <ul id="newsarticles"> 
     <li class="submenu" id="news"> <a href="#">News</a> 

     </li> 
     <li class="submenu" id="articles"> <a href="#">Articles</a> 

     </li> 
    </ul> 
    <li class="mainmenu" id="contactus"><a href="#">Contact Us</a> 
    </li> 
</ul> 

現在我想使用mainmenu和submenu相同的功能。

$("#menu li").click(Menu_function); 

我的問題是,當我點擊子菜單時,變量$(this)有兩個值。一個用於子菜單內的li和一個用於mainmenu的li。

現在我願意做這樣的事情在我的功能:

var currentId = $(this).attr('id'); 

我怎麼能拿只有一個值?

任何幫助表示讚賞。

+0

你需要什麼值?家長還是孩子? – 2013-03-01 19:34:39

回答

1

您可以使用「每個」選擇點擊功能添加到兩個項目:

$('#menu li').each(function(index) { 
    $(this).click(function() { 
     var id = $(this).attr('id'); 

     // do whatever you need to here 
    }); 
}); 
+1

曼你超級快... – Amar 2013-03-01 19:42:09

1

你會想

$('#menu').click(function(evt) { 
    var currentId = $(evt.target).closest('li').attr('id'); 
}); 
0

您可以使用的jQuery each方法遍歷所有的人並在它們上添加onclick。 類似的東西dcp在他的回答中提到過:

$('#menu li').each(function() { 
    // add click method on this element ($(this)) 
    $(this).click(function() { 
    }); 
});