Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.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 使用链接隐藏/显示div_Javascript_Jquery_Html - Fatal编程技术网

Javascript 使用链接隐藏/显示div

Javascript 使用链接隐藏/显示div,javascript,jquery,html,Javascript,Jquery,Html,我试图在单击ali标记中的链接时使用jQuery隐藏和显示div,但是我无法获取DOM元素。 放在ul>li脚本上,它运行良好 <a class="showSingle " >All Test </a> //Work Fine 下一步查看 我不认为有什么问题,你只是错过了目标:/ 更新:我已经更改了代码段 $(函数(){ $('.showSingle')。单击(函数(e){ e、 预防默认值(); $(此项)。家长(“ul”) .兄弟姐妹(“.targetD

我试图在单击
ali
标记中的链接时使用jQuery隐藏和显示div,但是我无法获取DOM元素。 放在ul>li脚本上,它运行良好

  <a class="showSingle " >All Test </a> //Work Fine

  • 下一步查看
我不认为有什么问题,你只是错过了目标:/

更新:我已经更改了代码段

$(函数(){
$('.showSingle')。单击(函数(e){
e、 预防默认值();
$(此项)。家长(“ul”)
.兄弟姐妹(“.targetDiv”)
.滑动切换(“快速”);
});
});

  • 下一步查看
一些文本
  • 下一步查看
一些文本
  • 下一步查看
一些文本
  • 下一步查看
一些文本
  • 下一步查看
一些文本
如果目标在ul之外,那么它不是兄弟姐妹,更像是叔叔或其他什么;)所以
$(这个)。兄弟姐妹
不起作用

试试这个:

$('.showSingle').click(function(e){
    e.preventDefault();
    $('.targetDiv').slideToggle('fast')
})
根据您的标记更新答案

由于您有多个切换触发器,并且只希望在某个触发器之后直接切换目标,因此可以使用
$(this)

但是您需要链接一些其他jQuery函数,以达到可以针对下一个目标的级别

$('this').parent().parent().next('targetDiv')

在这种情况下,
.next()
优于
.siblines()
,因为它返回与
.targetDiv
选择器匹配的下一个同级

以下是完整的代码:

 $(document).ready(function () {
    $('.showSingle').click(function(e) {
        e.preventDefault();
        $('this').parent().parent().next('.targetDiv').slideToggle('fast');
    });
 });

更新了fiddle以避免为您重新加载页面
,请参见,@Ploni Almoni

如果您在控制台中尝试这一行,会发生什么<代码>$('.showSingle')
@ErcanPeker我的目标div在uli之外如果它在ul之外它不是sibling@Pixelomo控制台中没有错误如果是您的Q,这在ul>liso之外工作,它返回带有属性的div?谢谢,但在您的代码中,div在ul>li元素内。在我看来,这是个问题。@PloniAlmoni请检查我的answer@Pixelomo正如我所说的那样,我做到了。我使用的是多个div,它显示的是all,而不是eachIt,正如你所建议的那样,它工作得很好,问题是我必须使用兄弟姐妹,因为我有多个div(它是在foreach循环中运行的,所以我已经回答了您在这里发布的问题?但实际上问题有点复杂?请创建一个,这样我们就可以了解您的意思,谢谢,jsfiddler不起作用了。
$('this')
应该是
$(this)
哦,是的,derp…:)他正在制作网页just@PloniAlmoni,演示不起作用或与您想要的不一样?