0

私が抱えている問題は、その中でクリックして親IDを取得したいということです。問題は、次のような div のスタックがある場合に発生します。

<div id="files">
<div id="F1"><span>Label</span></div>
<div id="F2"><span>Label</span></div>
<div id="F3"><span>Label</span></div>
<div id="F4"><span>Label</span></div>
</div>

F# div 領域をクリックすると、ファイルである親を参照するようにスクリプトを作成しましたが、ラベル スパンをクリックすると、id F# の is で親を参照します。私は基本的に、ファイル div 内でクリックがあった場合、その div の露出領域が表示されていなくても ID を取得できるようにする必要があります。

私が使用していたjqueryはこれでした:

$(window).load(function(){

    $(document).bind("contextmenu", function(event) { 
        event.preventDefault();

        var pid = event.target.parentNode.id;
        var id = event.target.id;
        //$(pid).val().substring(0,4)
        $(this).parent();
        //alert((pid).val().substring(0,4));
        var pid = (pid).substring(0,6);    

        if(pid === "files" || pid === "filess" || pid === "folder"){
             $("<div class='custom-menu'>
                  <a onclick='fileHide()'>Open</a>
                  <br/>
                  <a onclick='newFile()'>Rename</a>
                  <br/>
                  <a href='#'>Share Folder</a>
                  <br/>
                  <a onclick='deleteFile(\""+ id +"\")'>Delete</a>
                </div>").appendTo("body")
                        .css({top: event.pageY + "px", left: event.pageX + "px"});
        }else{
             $("<div class='custom-menu'>
                  <a onclick='fileHide()'>Upload</a>
                  <br/>
                  <a onclick='newFile()'>New Folder</a>
                  <br/><a href='#'>Share Folders</a>
                  <br/><a href='#'>Deleted files</a>
                </div>").appendTo("body")
                        .css({top: event.pageY + "px", left: event.pageX + "px"});
        }

    }).bind("mouseup", function(event) {
        $("div.custom-menu").hide();
    });            
});
4

1 に答える 1

1

このようにしてみてください

$(this).parent();

要素をクリックするたびにこれを呼び出すと、選択された(クリックされた)要素の親が直接与えられます

そのIDを知るには、試してみてください

var parent_id = $(this).parent().attr('id');
alert(parent_id);
于 2013-05-25T04:17:20.177 に答える