2009-08-03 46 views
1

我试图使用jQuery和ASP.NET。我将服务器控件“ClientID”粘贴到jQuery选择器中,并且从Sizzle选择器引擎收到错误(没有错误文本)。嘶嘶声选择器引擎错误

我的选择是这样的......

$('#ctl00_ContentPlaceHolder1__phProfileHeader__filProfileImage') 

难道可能导致问题的长度?我已经在客户端代码中多次重新检查过控制ID,并且一切看起来都很好。那么交易是什么?我在其他几个地方使用相同的策略,并且他们工作得很好。

+0

尝试并试验一些名称变体。可能是长度,可能是双下划线。我记得在ID中包含一个正斜杠的问题。只有我从来没有错误,我只是有一个空数组返回给我。 – montrealist 2009-08-03 18:09:14

回答

0

我没有收到任何错误。我不认为是jQuery相关。你能通过错误吗?

$(document).ready(function(){ 
    console.log($('#ctl00_ContentPlaceHolder1__phProfileHeader__filProfileImage')); 
}); 

返回div。

4

这很奇怪。我在处理那些长的ASP.NET生成的ID时使用过的东西是jQuery的内容过滤器。例如,这个人会寻找元素的谁的id属性与“filProfileImage”结尾:

$("[id$=filProfileImage]") 

试一下,看看是否有帮助。

http://docs.jquery.com/Selectors/attributeEndsWith#attributevalue

+2

速度会超慢,因为它会解析每个元素,而不是使用本机getElementById – redsquare 2009-08-03 19:21:12

1

你确定错误发生在灒发生了什么?

我会检查,看看你

document.getElementBy('ctl00_ContentPlaceHolder1__phProfileHeader__filProfileImage'); 

得到什么,以确保公正的DOM是可用的。不是那种嘶嘶声应该在意,但...

请张贴您的错误信息。

干杯