jquery .closest()。find()。first()。text()无效

时间:2014-06-06 19:22:01

标签: javascript jquery html dom

为什么以下JS没有处理HTML代码?

HTML CODE:

<div class="grand-parent">
  <div class="uncle">Text to log</div>
  <div class="general-random-album-images">
    <a href="#" class="base-selector">Link</a>
  </div>
</div>

JS CODE:

$("a.base-selector").click(function(){
  console.log($(this).closest('.grand-parent').find('.uncle').first().text());
});

我没有得到&#34; Text to log&#34;日志中的文字。

1 个答案:

答案 0 :(得分:0)

这可能是因为你没有其他原因错误地包装你的代码。使用:

<script>
  $(document).ready(function(){ // So we wait everything is loaded
    $("a.base-selector").click(function(){
      console.log($(this).closest('.grand-parent').find('.uncle').first().text());
    });
  });
</script>

<script>
  $("body").on("click", "a.base-selector" function(){ // We filter
     console.log($(this).closest('.grand-parent').find('.uncle').first().text());
   });
</script>

因为你必须等待一切都被加载。