Javascript 触发具有$this的Jquery函数。onload和onclick

Javascript 触发具有$this的Jquery函数。onload和onclick,javascript,jquery,function,Javascript,Jquery,Function,触发具有$this的Jquery函数。在窗口加载和单击时 function get_div_id(){ var f_id = $(this).attr("id"); alert(f_id); } $(window).load(function(){ get_div_id(); }); $('.divs_same_class_diferent_id').click(function() { get_div_id(); }); 正如您可以推断的那样,这将不起作用,但您知道我正在尝试做什么,对

触发具有$this的Jquery函数。在窗口加载和单击时

function get_div_id(){
var f_id = $(this).attr("id");
alert(f_id);
}

$(window).load(function(){ 
get_div_id();
});

$('.divs_same_class_diferent_id').click(function() {
get_div_id();
});

正如您可以推断的那样,这将不起作用,但您知道我正在尝试做什么,对吗?

根据代码所在的位置,它可能在创建DOM之前运行,在这种情况下,您尝试将事件侦听器绑定到尚不存在的元素。试试这个:

function get_div_id(){

  var f_id = $(this).attr("id");
  alert(f_id);

}

$(document).ready(function(){

  $('.divs_same_class_diferent_id').click(get_div_id);
  // notice no anonymous function, this works because
  // we're passing in the function object for get_div_id

});

你想干什么?获取给定类的所有元素的
id
?怎么办?存储在数组中,是否用于其他函数?还有别的吗?嗨,David,我正在尝试在单击时获取div id,并在窗口加载时获取默认div id。在页面加载时,哪个
应该是“默认值”,第一个、最后一个、另一个特定元素还是随机的?谢谢David。它应该是一个特定的元素。并且,而不是$(document)。ready(function(){…}直接使用较短的$(functon(){…})。谢谢!这正是我试图做的。但是如果我想在窗口加载时触发相同的函数呢?我如何传递默认的div id值?您可以将该函数添加到$(document)的回调中.ready,然后使用函数对象的call方法设置“this”的上下文,即get_div_id.call(myElementReference)