ネストされたリストでjquery droppableを使用して、ホバー時のliの背景色に変更を適用しようとしています。問題は、リストの最初の項目にのみ適用されることです。ただし、アラートは引き続きリスト項目内のテキストを警告しています。なぜこれが起こるのでしょうか?
$("#mailbox li").droppable({
greedy: true,
hoverClass: 'mailbox-hover',
drop: function(event, ui) {
alert($(this).text());
}
});
[編集] 一部のテストでは、アラートは正常に機能し、(fireBug によると) ホバー クラスが適用されていますが、最初の要素にカーソルを合わせたときにのみテキストの色が変更されます。
<ul id="mailbox" class="filetree">
<li>
<span class="folder">imap@gazler.com
</span>
<ul>
<li id="0-INBOX">
<span class="folder">
</span>
<a href="#" onclick="changeFolder('0', 'INBOX', 'INBOX');" name="INBOX">INBOX
</a>
<ul>
<li id="0-INBOX-Drafts">
<span class="file">
</span>
<a href="#" onclick="changeFolder('0', 'INBOX.Drafts', 'Drafts');" name="INBOX.Drafts">Drafts
</a>
<li id="0-INBOX-Sent">
<span class="file">
</span>
<a href="#" onclick="changeFolder('0', 'INBOX.Sent', 'Sent');" name="INBOX.Sent">Sent
</a>
<li id="0-INBOX-Trash">
<span class="folder">
</span>
<a href="#" onclick="changeFolder('0', 'INBOX.Trash', 'Trash');" name="INBOX.Trash">Trash
</a>
<ul>
<li id="0-INBOX-Trash-New">
<span class="file">
</span>
<a href="#" onclick="changeFolder('0', 'INBOX.Trash.New', 'New');" name="INBOX.Trash.New">New
</a>
</ul>
</ul>
</ul>
</li>
[ css はコメントです ] - また、関連している可能性があり、css エラーの可能性があります。ホバー時に li の背景色を設定できず、フォントの色のみを設定できません。
.mailbox-hover
{
background-color: #0000ff;
}
.mailbox-dropped
{
color: #ffff00;
}
[解決済み] - そして最後に、すべてのリスト項目に id が添付されていても、($(this).id) を警告することはできません。