无法通过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); }); });
这些方法中的任何一种都会使您的代码陷入困境,并允许您将其移动到用户的外部可缓存文件。