1

idブックマーク アプリを作成しています。特定の目的のために、最も近いli内部タスクをターゲットにして取得したいと考えてulいます。このコードを試しましたが、機能しません。皆さんが私を助けてくれることを願っています

<script src="js/jquery.js"></script>
<script>

$(document).ready(function(){

  $("#clicker").click(function(){
    var id = $("#tasks").closest("li").attr("id");
    alert(id);
  });

});

</script>

<h1><a id="clicker" href="#">Click Me</a></h1>

<ul id="tasks">
  <li id="4">Apples</li>
  <li id="3">Oranges</li>
</ul>
4

3 に答える 3

1

jQuery.fn.closest最も近い要素の一致をターゲットにするのではなく、最も近い祖先をターゲットにするように設計されています (doc を参照してください: http://api.jquery.com/closest/ )。

あなたがしなければならないことは、そこで子供を選択することです:

$("#clicker").click(function(){
    var id = $("#tasks").children("li").attr("id");
    alert(id);
});
于 2012-12-17T14:51:24.843 に答える
1

あなたは試してみたいかもしれません:

var id = $("#tasks > li:first").attr("id");

使用したもの:

  1. リストの下のすべての項目 を選択するJQuery の親 > 子セレクター。li#tasks
  2. そして、:firstセレクターを使用liして、すべてのリストから最初に選択しました。
于 2012-12-17T14:51:34.680 に答える
0

closest最も近い要素ではなく、要素の最も近い親を選択します。findまたはchildrenメソッドを使用できます。最初の要素を見つけたい場合は、セレクターまたはメソッドliを使用して結果をフィルタリングできます。:firstfirst

$(document).ready(function(){
  $("#clicker").click(function(){
    var id = $("#tasks").find("li:first").attr("id");
    alert(id);
  });
});
于 2012-12-17T14:51:15.453 に答える