2011-09-13 45 views
2

我必須捕獲<ul><li>列表中的值。變量和jQuery的:如何捕獲值(第1部分)

我這樣做:

function capture(){ 

    $('#country_list li a').mouseover(function(a){ 
    $(this).addClass('selected'); 
    var $regionMap = '#'+ $(this).attr('id'); 
    alert($regionMap); // control 
    }); 

    $('#country_list li a').mouseout(function(){ 
    $(this).removeClass('selected'); 

    }); 
} 

selected CSS類是這個

.selected 
    { 
    background-color: #FFFFFF; 
    } 

的功能是確定的,我在HTML激活函數:

<ul id="country_list" style="list-style-type:none" onmouseover="capture();"> 

我我不確定這是否正確。你有幫助嗎?

我已經發布了第二個問題,更重要的是,與此相連,且名稱爲:

變量和jQuery:如何捕獲值,並利用它們(部分2)

回答

2

聽起來完全確定,只是你可以用CSS更換CSS操縱像

#country_list li a:hover { 
    background-color: #FFFFFF; 
} 
+0

哦,謝謝!英語是美麗的(我的不是!)。「聲音」是描述你觀點的一種很棒的方式。在意大利,我們有很多表達來描述一個觀點,但沒有像「聽起來」!太棒了! Bye – ulisse

0

我會避免使用「的onmouseover」屬性,並直接與JS將事件監聽器代替,這將確保HTML是更乾淨,JS是完全分開的HTML。

HTML

<ul id="country_list"> 

CSS

#country_list { 
    list-style-type:none; 
} 

JS

var $country_list = $('#country_list'); 

$country_list.mouseover(function (e) { 

    $(e.target).addClass('selected'); 

    var $regionMap = '#' + e.target.id; 

    alert($regionMap); // control 

}); 

$country_list.mouseout(function (e) { 

    $(e.target).removeClass('selected'); 

}); 
+0

@Ulisse:「e」是一個引用事件對象的變量,當事件被觸發並且事件句柄捕獲它時會生成該事件對象。它是一個包含有關事件信息的對象。例如「e.target」是生成事件的元素。 –

+0

好的謝謝。我正在研究你的代碼,這可能是一種更好的方式,所以我認爲我會喜歡使用它,但它似乎不工作,Firebug給我這個消息「未捕獲的異常:語法錯誤,無法識別的表達式:$ regionMap 」。我也試過,但問題總是存在:var $ regionMap ='#'+ e.target.attr('id'); 。感謝有關「e」變量的答案。 – ulisse