无法通过ID使用JQuery在Datalist中找到元素

下面是一个渲染的Datalist。 似乎$(’#ctl00_ContentPlaceHolder1_ShowListing_DataList1 $ 3 $ 0 $ inquire’)。click(function(){…}不起作用,因为当我点击其中一个按钮(在DataList上)时,这些按钮意味着触发此function,什么都没发生。

如何使用JQuery按ID查找按钮? 因此,如果单击DataList上的任何按钮,基本上应该触发该函数。

谢谢。

$(function() { $('#ctl00_ContentPlaceHolder1_ShowListing_DataList1$3$0$enquire').click(function() { $('#enquireOverlay').fadeIn('fast', function() { $('#box').animate({ 'top': '160px' }, 500); }); }); $('#boxclose').click(function() { $('#box').animate({ 'top': '-200px' }, 500, function() { $('#enquireOverlay').fadeOut('fast'); }); }); });

你应该使用直播。

  $("#boxclose").live("click", function() { $('#box').animate({ 'top': '-200px' }, 500, function() { $('#enquireOverlay').fadeOut('fast'); }); }); 

只是不要使用ID,使用他们已经拥有的那个方便的class

 $('a.activator').click(function() { $('#enquireOverlay').fadeIn('fast', function() { $('#box').animate({ 'top': '160px' }, 500); }); }); 

甚至更好的.delegate()

 $(".DataWebControlStyle").delegate(".activator", "click", function() { $('#enquireOverlay').fadeIn('fast', function() { $('#box').animate({ 'top': '160px' }, 500); }); }); 

这些方法中的任何一种都会使您的代码陷入困境,并允许您将其移动到用户的外部可缓存文件。