$ find返回null

时间:2012-03-01 06:50:04

标签: asp.net

我在.ascx页面中有radGrid,我想在其中找到使用$find的控件,但它会向我返回null。下面是我用来获取对象的代码(用.ascx编写)。

<script type="text/javascript">
    $(function () {
        var Rates_gridID = $find('<%= gridRates.ClientID %>');
        alert(Rates_gridID);
    });
</script>

在这里,我在警报中将Rates_gridID视为空。我注意到有趣的是当我从1.2.6将jQuery版本更改为1.6.4时,我得到了Rates_gridID个对象。我已经google了很多但没有得到任何解决方案。我认为问题出在$(function()

4 个答案:

答案 0 :(得分:3)

您使用的语法不正确。尝试

$("body").find('<%= gridRates.ClientID %>');

答案 1 :(得分:3)

$ Find与$ .find不同。 第一个是提供由Microsoft AJAX库定义的Sys.Application类的findComponent方法的快捷方式。 而第二个是来自jQuery的API方法,它获取当前匹配元素集中每个元素的后代,由选择器,jQuery对象或元素过滤。

所以,$ Find必须找到Component而不是html DOM。并且必须定义ajax库。

了解更多信息: http://msdn.microsoft.com/en-us/library/vstudio/bb397441(v=vs.100).aspx http://api.jquery.com/find/

答案 2 :(得分:1)

这里$find是什么。这是不正确的。

一样使用它
$("body").find('<%= gridRates.ClientID %>');

详情了解

中的find()

http://api.jquery.com/find/

  

描述:获取当前集合中每个元素的后代   匹配的元素,由选择器,jQuery对象或元素

过滤

答案 3 :(得分:-1)

如果&lt;%= gridRates.ClientID%&gt;是你应该像这样使用的唯一ID

var Rates_gridID = $("#<%=gridRates.ClientID%>");
alert(Rates_gridID);