2011-09-13 6 views
2

<ul><li>リストの値を取得する必要があります。変数とjquery:キャプチャ値の意味(パート1)

私はそう:

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

私は」:

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; 
    } 

関数はOKですし、私はHTMLで機能を有効にありますこれが正しいと確信していません。私に助けがありますか?

私はこれに連動し、より重要な2つ目の質問を、掲載している、と名前がある

変数とjqueryの:どのようにキャプチャ値とそれらを使用する(パート2)

答えて

2

は完全にOKですね、ちょうどあなたは、これはHTMLは、よりクリーンでJSであることを確認します私は「のonmouseover」属性の使用を避け、代わりにJSと直接イベントリスナーを適用します

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

ああ、ありがとう!英語は美しいです(私のではありません!)。「サウンド」はあなたの視点を表現する素晴らしい方法です。イタリア語では、視点を記述するための表現がたくさんありますが、「音を出す」ようなものはありません!素晴らしい! Bye – ulisse

0

のようにCSSでCSS操作を置き換えることができますは、 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が私にこのメッセージを与える "uncaught exception:構文エラー、認識できない式:$ regionMap "私もそうしようとしましたが、問題は常にそこにあります:var $ regionMap = '#' + e.target.attr( 'id'); 。 "e"変数に関するお返事ありがとうございます。 – ulisse

関連する問題