私はこのスクリプトを書きました:
var elms = document.getElementsByTagName('li');
for (var i = 0; i < elms.length; i++){
if (elms[i].className == 'liitem'){
var delete_id = elms[i].id;
elms[i].onmouseover = function(){
document.getElementById("delete-" + delete_id).style.display = "block";
}
elms[i].onmouseout = function(){
document.getElementById("delete-" + delete_id).style.display = "none";
}
}
}
HTML:
<li class="liitem" id="205">
<span>
<a href="http://www.google.com/finance/portfolio?action=view&pid=1" target="_blank">One:</a> </span>
<br>
<ul><li>
<span><a href="http://www.google.com" target="_blank">www.google.com</a> </span><span id="delete-205" style="float:right;font-size:11px;display:none;"><a href="">delete</a></span></li></ul>
</li><br>
<li class="liitem" id="204">
<span>
<a href="http://www.google.com/finance/portfolio?action=view&pid=1" target="_blank">Two:</a> </span>
<br>
<ul><li>
<span><a href="http://www.google.com" target="_blank">www.google.com</a> </span><span id="delete-204" style="float:right;font-size:11px;display:none;"><a href="">delete</a></span></li></ul>
</li><br>
<li class="liitem" id="203">
<span>
<a href="http://www.google.com/finance/portfolio?action=view&pid=1" target="_blank">Three:</a> </span>
<br>
<ul><li>
<span><a href="http://www.google.com" target="_blank">www.google.com</a> </span><span id="delete-203" style="float:right;font-size:11px;display:none;"><a href="">delete</a></span></li></ul>
</li><br>
ライブデモ: http://jsfiddle.net/5FBjm/1/
しかし、それは正しく動作しません。<li>
「liitem」クラスの特定の要素にマウスオーバーしたときに、その要素の「削除」リンクを(同じIDで)表示したい。
代わりに、私のスクリプトでは、最後の「削除」のみを表示します。なんで?