$ find()在IE 9中返回null

时间:2013-02-11 10:12:53

标签: asp.net asp.net-ajax internet-explorer-9

有时$find()中的Sys.Application.add_load方法返回null,有人可以帮我解决这个问题。

请注意

  • 这是 IE 9 特定问题

  • 偶尔会发生

  • 方法$('#id')返回正确的jQuery对象

  • 我想找到的元素是SPAN

  • 中的RadDockZone
  • 同一个$find()函数在页面加载后返回AJAX组件

代码

Sys.Application.add_load(gridRefresh_ctl00_contentPlaceHolder_ctl02_2_C_ctl00_GridBooking);

function gridRefresh_ctl00_contentPlaceHolder_ctl02_2_C_ctl00_GridBooking() {
    var gridctl00_contentPlaceHolder_ctl02_2_C_ctl00_GridBooking = $find('ctl00_contentPlaceHolder_ctl02_2_C_ctl00_GridBooking');
    Sys.Application.remove_load(gridRefresh_ctl00_contentPlaceHolder_ctl02_2_C_ctl00_GridBooking);
    if(gridctl00_contentPlaceHolder_ctl02_2_C_ctl00_GridBooking._customData['RefreshOnPageLoad']) 
    gridctl00_contentPlaceHolder_ctl02_2_C_ctl00_GridBooking.refresh();
}

2 个答案:

答案 0 :(得分:1)

我不确定您是否正确使用了语法。以此为例:

http://jsfiddle.net/turiyag/7wntu/

$("#content").find("#someid").css({border:"5px solid blue"});

答案 1 :(得分:1)

这不起作用:

var xyz = $find('ctl00_contentPlaceHolder_ctl02_2_C_ctl00_GridBooking');

该方法获取当前匹配元素集中每个元素的后代,由选择器,jQuery对象或元素过滤:

var xyz = $('parentSelector').find('descendantsSelector');

如果它是您用作'descendantsSelector'的ID,您根本不需要查找,ID必须是唯一的,所以它应该是:

var xyz = $('#ctl00_contentPlaceHolder_ctl02_2_C_ctl00_GridBooking');