多个jquery选择器

感谢karim79,我可以单击ImageButton并将Jquery高亮效果应用于不同的div

 $("#btnFavorite").click(function() { // selector for element to highlight $("#theDiv").effect("highlight", {}, 3000); }); 

现在我想将问题扩展如下。

我动态地将ImageButtons添加到网页,我想在每个ImageButton点击上对div应用效果。

          

那个案子我该怎么办? 通过使用listview的ItemDataBound并添加类似的属性

btnFavorite.Attributes.Add("onmouseclick", "doSomething")还是什么?

我完全失去了!

你可以尝试这样一个更通用的选择器……

 $("input[type='image']").click(function(){ $(".. related div selector ..").effect("highlight", {}, 3000); }); 

我不知道divinput之间的关系,所以我不能假设选择器是什么,但如果你发布关系或解释它,我们可以帮助你写一个更准确的选择器。

值得注意的是,如果在DOM加载后动态地将ImageButton添加到页面而不是服务器端,那么您可能希望使用live方法来附加事件…

 $("input[type='image']").live('click', function(){ $(".. related div selector ..").effect("highlight", {}, 3000); }); 

只需将名为class的属性添加到要使用此效果制作器function的ImageButtons ,并使用名称对其进行评估 ,例如effectMaker 。 然后调用相同的函数,但将选择器更改为

 $(".effectMaker").click(function() { // selector for element to highlight $("#theDiv").effect("highlight", {}, 3000); }); 

随着. 选择器后跟一个stringValue ,您引用具有使用该stringValue值的类的每个元素。

有人说委托function比直播function更好:

http://test.kingdesk.com/jquery/bind_live_delegate.php

我不知道这对你有用,但我所做的就是:

 $("#<%= ListView1.ClientID %>").find(".ImageButtonTarget").click(function() { .. }); 

我给我的按钮控件一个唯一的类来查找它,并批量解析整个列表视图。 我不确定是否有一个或多个div,但如果div在listview行中,你也可以使用父组合,并从ListView行中找到它。

这也使得范围保持在ListVIew内; 选择器不必解析整个页面以查找图像按钮,仅在列表中。

HTH。

这将在’theDiv’容器中的’image’类型的每个输入上应用effect():

 $('#theDiv').find('input[type="image"]').effect('highlight', {}, 3000); 

或者,这将在每个输入类型图像点击时将其应用于’theDiv’:

 $('input[type="image"]').click(function() { $('#theDiv').effect('highlight', {}, 3000); }); 

不确定你要做的是哪一个。