2

このタイプのコードから href を取得できるようにしたい:

<tbody>
  <tr class="odd">
    <td class=" sorting_1">
      <a href="aURL">The Link Text</a>
    </td>
  </tr>
</tbody>

しかし、リンク自体または td をクリックできるようにしたいと考えています。

これが私のCoffeeScriptです:

$("#myID tr td").click (event)->
    event.preventDefault()
    link = $(event.target).find("a").attr("href")
    $("#anAjaxPod").load(link)

これは、td をクリックすると機能しますが、リンクをクリックすると機能しません。

編集:質問を更新しました。最初はfindを使用しました。これは私が遊んだ最後のコードです

4

3 に答える 3

4

.find()を使用します。.closest()は、自己と祖先をテストする DOM ツリーを上ることです。ここでアンカー タグは td の子であるため、下に降りる必要があります。したがって、find または children セレクターが必要です。

$(this).find("a").attr("href")

最も近い要素は、要素自体をテストし、DOM ツリーでその祖先をたどることによって、セレクターに一致する最初の要素を取得します。

$("#myID tr td").click(function(event){
    event.preventDefault()
    link = $(this).find("a").attr("href");
    $("#anAjaxPod").load(link);
 });

フィドル

于 2013-05-17T04:20:23.967 に答える
3

.closest()のように見え、自分自身または祖先を子孫にしたい場合、子孫を見つけるにはfind()を使用します

link = $(event.target).find("a").attr("href")
于 2013-05-17T04:20:45.707 に答える
0

これを試して:

$(function(){
    $("#myID tr td").click(function(){
         Link = $(this).find("a").eq(0).attr("href");
         $("#anAjaxPod").load(Link);
         return false;
    })
})
于 2013-05-17T04:22:15.320 に答える