将“this”与事件委派Jquery一起使用
我正在尝试将以下简单的单击事件函数转换为委托函数。有人能帮我吗将“this”与事件委派Jquery一起使用,jquery,event-delegation,Jquery,Event Delegation,我正在尝试将以下简单的单击事件函数转换为委托函数。有人能帮我吗 $(".click-slide").click(function(){ $(this).siblings().slideToggle(); $(this).find("button").toggleClass('uparrow'); }); 这是我迄今为止所做的,但都是徒劳的 $(".refine-buttons .wd-210").on("click", ".click-slide",(function(){ $(thi
$(".click-slide").click(function(){
$(this).siblings().slideToggle();
$(this).find("button").toggleClass('uparrow');
});
这是我迄今为止所做的,但都是徒劳的
$(".refine-buttons .wd-210").on("click", ".click-slide",(function(){
$(this).siblings().slideToggle();
$(this).find("button").toggleClass('uparrow');
});
对应的HTML为:
<div class="refine-buttons wd-210">
<div class="btn-slide" id="term">
<div class="click-slide">
<button>Search Terms (0)</button>
</div>
<div class="btn-box">
<label>Some thing</label>
</div>
</div>
<div class="btn-slide">
<div class="click-slide">
<button>Categories ()</button>
</div>
<div class="btn-box">
<label>Other thing</label>
</div>
</div>
</div>
请注意,以下内容是在DOM就绪后动态添加的
我认为这个关键词导致了这个问题。非常感谢您的帮助。请尝试删除此处的引号
更改为:
$(this)
你不需要在里面加引号
您可以从回调中删除:
$(".refine-buttons.wd-210").on("click", ".click-slide",(function(){
// this one--------------------------------------------^
因为静态父类有两个类,所以它们之间不需要有空格:
$(".refine-buttons.wd-210") // matches the parent div
加载页面后是否创建.refine按钮和.wd-210
如果是,则您必须以现有的父/母、父/母等为目标。单击幻灯片
e、 g
并删除$this中的引号,它应该是$this顺便问一下,元素在哪里有类优化按钮?@Mritunjay:这是一个错误,请检查更新的代码。您的父元素应该是这样的:$.refine-buttons.wd-210
$(".refine-buttons.wd-210").on("click", ".click-slide",(function(){
// this one--------------------------------------------^
$(".refine-buttons.wd-210") // matches the parent div
$("html body").on("click", ".click-slide",function(){
$(this).siblings().slideToggle();
$(this).find("button").toggleClass('uparrow');
});