ネストされたliと、クリックされた要素のIDを取得することに問題があります。
これが私のコードであると仮定します:
<ul>
<li id="folderLink_1">Link 1</li>
<li id="folderLink_2">Link 2
<ul>
<li id="folderLink_3">Link 2.1</li>
<li id="folderLink_4">Link 2.2</li>
</ul>
</li>
<ul>
私もこのjQueryを持っています:
$('[id^=folderLink_]').live('click',function(){
alert($(this).attr('id'));
});
リンク 1 をクリックすると、folderLink_1 という 1 つの ID だけが通知されます。ただし、リンク 2.1 をクリックすると、folderLink_3 だけでなく、folderLink_2 も次々と取得されます。
私は周りを見回して、event.stopPropagation() を使用しようとしましたが、これにより、必要な後続のアクションも実行されなくなります。
アイデアは、フォルダが画像ライブラリのフォルダ構造として機能することです。フォルダーをクリックすると、そのフォルダーの ID が JS 変数に保存されます。画像が含まれるフォルダーをクリックすると、ajax はクエリ文字列の ID を使用して URL を取得します。
スパンの周りに LI 内のテキストをラップしようとしましたが、同じように動作する必要があるテキストの周りに画像があります (クリックした場合は ID を保存します)。
より良いヘルプのために画像を添付しました。
画像 1 (左上): 赤いセクションのメニュー項目をクリックします。
画像 2 (右上): リンクをクリックすると、そのフォルダーの ID が保存され、別のメニューが右にスライドします
画像 3 (左下): 新しいメニューが古いメニューがあった場所にスライドし、フォルダー名が上部のカーボン ファイバー セクションに表示されます。
新しいリンク (画像 3) がクリックされると、提供された画像の外側の領域にコンテンツが読み込まれるだけでなく、クリックされた LI の ID も記録されます。
クリックしたliのIDのみを保存するようにこれを取得するための提案があれば、大歓迎です。