0

変数を定義しようとしています:

var alumniName = // id from a list ( example: <li id="JoeJohnson">Joe Johnson</li> ).

訪問者がクリックしたものと一致する変数が必要です。(例:

<li id="JoeJohnson">Joe Johnson</li>  
// when a visitor clicks on the name Joe Johnson... the variable = JoeJohnson

<li id="FredSmith">Fred Smith</li>
// when a visitor clicks on the name Fred Smith... the variable = FredSmith

など...)

どんな助けでも大歓迎です-ありがとう-

4

3 に答える 3

2

セットアップについていくつかの仮定を立てる必要がありました...しかし、ここでピークを取り、これが理にかなっているのかどうかを確認してください. ライブラリは必要ありません。

HTML

<ul id="myList">
<li data-name='Joe Johnson'>Joe Johnson</li>
<li data-name='Fred Smith'>Fred Smith</li>
</ul>

Javascript

var list = document.getElementById('myList'),
    alumniName;

Array.prototype.forEach.call(list.getElementsByTagName('li'), function(item) {
    item.onclick = function() {
        alumniName = this.getAttribute('data-name');
        // or if you feel you still want to use ID's to store the values (spaces are not allowed) you can just ref this.id
    };
});
于 2012-05-23T18:56:47.540 に答える
1

クリックが発生したときに、変数をクリックに関連するものにのみ設定できます。イベント リスナーを使用します。

var recentClickedId = null; // init, nothing clicked on now
// let this happen onload, i.e. when the DOM is available:
document.body.addEventListener("click", function(event){
    var el = event.target;
    if (el.nodeName.toLowerCase() == "li")
         recentClickedId = el.getAttribute("id");
}, false);
于 2012-05-23T18:56:37.670 に答える
0

このHTMLを試してください:

<ul>
<li data-name='Joe Johnson'>Joe Johnson</li>
<li data-name='Fred Smith'>Fred Smith</li>
</ul>

JavaScript(ボディロード時に呼び出されます):

var alumniName = '';
var liElems = document.getElementsByTagName('li');

for (var i=0; i<liElems.length; i++)
{
    liElems[i].onclick = function(){  
        alumniName = this.getAttribute('data-name');
        alert(alumniName);
    };

}
于 2012-05-23T18:53:55.823 に答える