Javascript 切换到div显示/隐藏

Javascript 切换到div显示/隐藏,javascript,jquery,html,Javascript,Jquery,Html,我知道这个问题有几个问题/解决方案,我正在寻找两个简单解决方案的组合(我不是一个编码员,只是一个复制/粘贴/操纵器),所以这里是这样的:我需要一个脚本,其中包含一个按钮,可在大型图像地图上切换显示/隐藏div,其功能是打开/关闭每个div中包含的标签。由于imagemap很大并且包含组,我正在寻找一种方法来循环以下函数脚本: $(document).ready(function() { $(".hide").click(function() { $(this).siblings(

我知道这个问题有几个问题/解决方案,我正在寻找两个简单解决方案的组合(我不是一个编码员,只是一个复制/粘贴/操纵器),所以这里是这样的:我需要一个脚本,其中包含一个按钮,可在大型图像地图上切换显示/隐藏div,其功能是打开/关闭每个div中包含的标签。由于imagemap很大并且包含组,我正在寻找一种方法来循环以下函数脚本:

  $(document).ready(function() {
  $(".hide").click(function() {
    $(this).siblings(".hideShow").hide();
  });
  $(".show").click(function() {
    $(this).siblings(".hideShow").show();
  });
  });
循环是必要的,因为我将有超过200个标签切换(删除它们将清除一些视觉空间)。上面的html列出了两个按钮,而我只需要一个按钮在这两个按钮之间切换,就像这个jquery位后面的按钮:

  var toggleState = false;
$('.show').click(function() {
$(".text").toggle();
$(this).toggleClass('hide').attr('title', toggleState ? 'Show All' : 'Hide All');
toggleState = !toggleState;
})
这里发现的前jfiddle: 后者在这里:

实际上,由于后一个脚本更可取,是否可以将其转换为循环,替换“.text”以容纳多个实例


我能想到的最好的方法是:尽管我需要为每个分组提供jquery片段的新瞬间。但我会把这个系列放在一个单独的*.js表中,供主页参考。

你可以
兄弟姐妹
函数见下文

Jquery:

var toggleState = false;

$('.show').click(function() {
    $(this).siblings(".text").toggle();
    $(this).toggleClass('hide').attr('title', toggleState ? 'Show All' : 'Hide All');
    toggleState = !toggleState;
});

我可能没有正确理解您的问题,但如果我理解了,那么这些信息可能会有所帮助:

(1) 您不需要循环。使用jQuery,使用class=“text”选择所有div如下所示:

$('.show').click(function() {
    $(".text").toggle();
});
$('.text').each(function(){
    // Whatever you do in here will be done once to each DIV 
    // (or other element) contained in the object ("list") of
    // all elements with `class="text"`
});
(2) 此位:
$(“.text”)
创建一个对象,该对象包含具有
class=“text”

(3) 此位:
.toggle()
将该方法应用于
$('.text')

因此,具有
class=“text”
的所有元素将作为一个组进行可见/不可见切换。不需要循环


如果确实需要循环,可以使用
.each()
,如下所示:

$('.show').click(function() {
    $(".text").toggle();
});
$('.text').each(function(){
    // Whatever you do in here will be done once to each DIV 
    // (or other element) contained in the object ("list") of
    // all elements with `class="text"`
});

比如说?我正在调查每个人的建议。感谢所有回答的人,尽管我必须指出,对于一个新手来说,没有什么比得到“否决票”更令人沮丧的了。在一小段代码上花上几天时间,在这个站点和无数其他站点上研究无数的示例,并在HTML编辑器上尝试许多修订/修改,对这里的一些人来说似乎是冒犯。当我最终成功的时候,我会在这里发布我对建议的“解决方案”…我没有否决你,不要气馁,继续努力。祝你一切顺利:-)哎呀,我不是有意要控告你的,Pbk1303。我不知道是谁干的。我想知道它背后的想法…问题是,有很多“文本”,而不仅仅是一个例子似乎显示。将有许多不同的“分组”,因此,如果我单击一个表元素,这些“div”或“span”或我分配给它们的任何内容都会出现,但会有不同的分组,因此我需要“text1”、“text2”等,从而生成一个可容纳各种分组的代码。这可能吗?@user3241848你必须把你的问题说清楚。事实上,从这个问题中尽你所能,关闭它(选择一个答案),然后问另一个问题可能是一个好主意。要非常具体。创建一个与您想要做的事情非常相似的简化示例。我很乐意非常具体地回答你的问题,但我不能完全理解你想要什么。那部分是你的工作。:)好啊注意。如果你有机会,看看我上面的编辑。我贴了一张新的JFIDLE。请注意jquery如何为两个不同的可点击div使用两个几乎相同的脚本。@user3241848对不起,我已经看过你的新提琴了,真的不明白你想要传达什么。不确定你需要什么。这两个脚本有什么问题?他们都工作。。。你希望他们有什么不同的做法?顺便问一下,你知道吗?是的,我正在工作的页面上使用了Imagemapster,我已经对它进行了大量的研究(修改),相信我。是的,脚本可以工作,但对于可点击组的每一个瞬间,我都需要一段新的“text-x”代码。有可能只给所有人一个吗?我正在工作的页面可能有50-100个(?)组,那么这是否意味着其中有50个代码段?我的意思是,有没有一种有效的方法来处理所有这些分组?我不是上面提到的程序员,所以我可能天真地认为代码可以提供这种性质的快捷方式?