Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jquery从此单击中选择不同的选项_Javascript_Jquery_Html_Jquery Selectors_Html Parsing - Fatal编程技术网

Javascript jquery从此单击中选择不同的选项

Javascript 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()我找

我有这段代码,但它实际上不起作用

首先,我添加一个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

因此,它的想法是添加一个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();