jQuery函数 - 作为参数的DIV容器

时间:2012-03-23 17:51:31

标签: jquery function

是否可以知道从哪个jQuery函数启动?

<div>
  <script language="javascript">
    $(document).ready(function () {
        whereAmI($(currentDIV));
    });
  </script>
</div>

2 个答案:

答案 0 :(得分:0)

如果某个事件正在调用该函数,则第一个参数是Event object,您可以编写类似的内容。

$('a').click(function(e){
    console.log(e.target);
});

答案 1 :(得分:0)

没有任何内容可以保存您加载当前正在执行的JavaScript的DOM位置。但是,您可以使用脚本在加载时执行以实现此内存的事实:

<div id="target">
  <script>
      var thisScript1 = $('script').filter(':last');
      $(document).ready(function () {
          console.log(thisScript1.closest('div').attr('id')); // prints 'target'
      });
  </script>
</div>
<div id="second">
  <script>
      var thisScript2 = $('script').filter(':last');
      $(document).ready(function () {
          console.log(thisScript2.closest('div').attr('id')); // prints 'second'
      });
  </script>
</div>​

这里,$('script').filter(':last');指的是页面上的最后一个脚本元素,在执行时是“当前脚本”。请注意,对于我想记住的每个脚本,我已经命名了以不同方式包含脚本对象的变量,否则它将被后续脚本破坏。另一种方法是将每个脚本包装在一个立即执行的匿名函数中,以便绑定本地thisScript变量。