Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ASP.NET AJAX$find方法在jQuery的$(document).ready()方法中使用时失败_Jquery_Asp.net_Asp.net Ajax - Fatal编程技术网

ASP.NET AJAX$find方法在jQuery的$(document).ready()方法中使用时失败

ASP.NET AJAX$find方法在jQuery的$(document).ready()方法中使用时失败,jquery,asp.net,asp.net-ajax,Jquery,Asp.net,Asp.net Ajax,我正在尝试使用ASP.NETAjax的客户端框架查找树。我还使用jQuery在DOM就绪后执行任何JavaScript操作。我的代码如下: $(function(){ var tree = $find('treeId'); }); 在这里,树就是空的。但是,当我尝试在单击其中一个元素时查找树时,它不是空的: $(function(){ $('saveButton').click(function(){ var tree = $find('treeId');

我正在尝试使用ASP.NETAjax的客户端框架查找树。我还使用jQuery在DOM就绪后执行任何JavaScript操作。我的代码如下:

$(function(){
    var tree = $find('treeId');
});
在这里,树就是空的。但是,当我尝试在单击其中一个元素时查找树时,它不是空的:

$(function(){
    $('saveButton').click(function(){
        var tree = $find('treeId');
    }):
});

这在Telerik控件中对我有效:

$telerik.$(document).ready(function () {
    var tree = $telerik.$find("<%=RadTreeView1.ClientID%>");
});

请参见此

尝试使用ASP.NET Ajax DOM Ready

Sys.onReady(function() {
    //DOM is ready to access and use
    var tree = $find('treeId');
});

我以前在telerik控件和clientMode=Static方面遇到过问题。我只是删除了这个属性并使用$find,它就工作了

编辑: 根据已接受的答案,您可以通过将默认$指向telerik$来设置为使用jquery

窗口。$=$telerik$


如果您在site.master或全球任何地方这样做,您将能够正常使用jquery

treeId是在标记代码中还是稍后通过JavaScript加载的?你能在ready函数中找到任何其他id吗?是的,treeId是我的树的id服务器上设置的任何东西,它是静态的。这是真的,Id是“pagesTree”。@Dynamicus,@user811785,是的,这就是我的意思。是静态结构中id为treeId且未动态加载的控件。也许我没有那么清楚。是的,当然,它是在标记中定义的页面的静态结构中,而不是通过AJAX获取的。不,$'treeId'返回一个jQuery对象。我需要一个ASP.NET AJAX的对象$find'treeId'返回一个强类型对象,可用于进一步操作ASP.NET的树。尝试了该操作,但没有结果。我使用ASP.NET 4客户端模式设置为静态。因此,从技术上讲,不需要使用内联ASP.NET。我可以硬编码树的Id,比如:$find'pagesTree',你的标记中有jQuery引用吗?Afaik一些Telerik控件已经包含了它,因此它们可能会冲突。是的,我还有另一个jQuery引用要单独加载。但当我移除它时,我仍然有问题。不管怎样,说得对。谢谢你回答得很好。非常感谢你。你治好了我长时间的头痛。关键是,当您在Telerik的jQuery之外包含jQuery时,您应该以两种不同的方式引用它们。jQuery使用$,Telerik的jQuery使用$Telerik.$。我这样做了,但没有用。实际上,我使用的是Telerik RadTree,它似乎没有将Sys注入页面。@user811785:对不起。我没用过无线电控制。你为什么不试试他们的论坛呢?我也试过了。仍然没有结果。我认为我们编写服务器端代码的方式应该没有区别。因为重要的是将执行内联ASP.NET并向浏览器发送字符串。