Javascript jquery从此单击中选择不同的选项
我有这段代码,但它实际上不起作用 首先,我添加一个img divJavascript jquery从此单击中选择不同的选项,javascript,jquery,html,jquery-selectors,html-parsing,Javascript,Jquery,Html,Jquery Selectors,Html Parsing,我有这段代码,但它实际上不起作用 首先,我添加一个img div $('div.group_title a').prepend("<img src='replace_w_img_link_in_real' width='20' height='20' >"); 这里的问题是,$('.el.group_title a img')只返回a选择,当我执行$(this).nextUntil('.el.group_title','.sidebar_project')。toggle()我找
$('div.group_title a').prepend("<img src='replace_w_img_link_in_real' width='20' height='20' >");
这里的问题是,$('.el.group_title a img')
只返回a选择,当我执行$(this).nextUntil('.el.group_title','.sidebar_project')。toggle()代码>我找不到div
因此,它的想法是添加一个img div,当您单击该img时,img将更改并隐藏/显示内容.sidebar\u项目
,直到下一个img。我试图更改$(this).nextUntil('.el.group\u title a img')
,但没有成功
根据请求,这是基本html
<div class="el group_title">
<a href="link_path">NAME</a>
</div>
<div data-project-id="195677" class="sidebar_project">..</div>
<div data-project-id="9844" class="sidebar_project">..</div>
<div class="el group_title">
<a href="link_path">NAME 2</a>
</div>
<div data-project-id="195677" class="sidebar_project">..</div>
<div data-project-id="9844" class="sidebar_project">..</div>
..
..
..
..
现在当我添加img div时
<div class="el group_title">
<a href="link">
<img alt="ACME org" src="link" width="20" height="20">org name</a>
</div>
....
....
这是JSFIDLE->很难说清楚您想做什么,但听起来解决方案的一部分将是$(this)。最接近(“.group\u title”)
。您想做什么吗?这是我在您的代码中更改的部分:
原件:
$(this).nextUntil('.el.group_title', '.sidebar_project').toggle();
新的:
你能发布附加后得到的示例html吗?创建一个JSFIDLE将是一个好主意,更容易看出问题所在。更新了我得到的代码这里是JSFIDLE->工作完美这就是我想要的,为什么我没有工作我的代码?在你的代码中,这个将是img
元素。nextUntil()
选择一个元素的同级元素,而您要选择的.sidebar\u项目
元素不是img
元素的同级元素。要选择您想要的元素,从img
开始,我使用了closest()
选择包含img
的.group\u title
元素,然后选择作为该的同级元素的.sidebar\u项目
元素。
$(this).nextUntil('.el.group_title', '.sidebar_project').toggle();
$( this ).closest( ".group_title" )
.nextUntil( ".group_title", ".sidebar_project" ).toggle();