87
<ul id ="myList">
<li><a href="www.example.com">link</a></li>
</ul>

jQueryを使用してul(myList)のIDを取得するにはどうすればよいですか?リンクがクリックされると、j-scriptイベントがトリガーされます。私が試してみました:

$(this).parent().attr('id');

しかし、それはliのIDを取得し、1つ上に移動する必要があり、クリックをliにアタッチすることもできません。

4

3 に答える 3

180
$(this).parent().parent().attr('id');

親の親のIDを取得する方法です。

編集:

$(this).closest('ul').attr('id');

あなたのケースのためのより確実な解決策です。

于 2012-04-21T16:07:14.533 に答える
13
 $(this).closest('ul').attr('id');
于 2012-04-21T16:10:21.847 に答える
1

次に3つの例を示します。

$(document).on('click', 'ul li a', function (e) {
    e.preventDefault();

    var example1 = $(this).parents('ul:first').attr('id');
    $('#results').append('<p>Result from example 1: <strong>' + example1 + '</strong></p>');

    var example2 = $(this).parents('ul:eq(0)').attr('id');
    $('#results').append('<p>Result from example 2: <strong>' + example2 + '</strong></p>');
  
    var example3 = $(this).closest('ul').attr('id');
    $('#results').append('<p>Result from example 3: <strong>' + example3 + '</strong></p>');
  
  
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<ul id ="myList">
  <li><a href="www.example.com">Click here</a></li>
</ul>

<div id="results">
  <h1>Results:</h1>
</div>

役に立ったかどうか教えてください。

于 2016-09-08T10:15:12.163 に答える