我有一些按钮,每个按钮都有一个"全屏按钮",我打算使用它来显示/隐藏页面上的内容。这些按钮都有id,这些是学校课程的名称,页面上的每个按钮都有div,其中的课程与id相匹配(ID为&#34的按钮;编程&#34 ;以及一个具有"编程"等的类的相应div。
我现在的目标是,当单击一个按钮时,通过为该div提供一个样式为display:none的类来隐藏具有与所单击按钮的id匹配的类的div。
我已经写出了一些jQuery,我期望这样做,但它只能设法为第一个按钮工作,所以我知道我在某个地方出错了。这就是我现在所拥有的......
$('.fullscreen-button').each(function(i,elm) {
programTitle = $(elm).attr("id");
$(elm).click(function(){
$('.program-collector div').each(function(j,pelm) {
if ($(pelm).hasClass(programTitle)) {
$(pelm).addClass("hidden");
}
});
})
});
那么,我如何才能正确地遍历所有按钮和div?
答案 0 :(得分:2)
这应该是解决问题的简单 1 解决方案。
如果点击了类fullscreen-button
的元素,则会隐藏与.program-collector div.{button-id}
匹配的所有元素(其中button-id
是所点击id
的{{1}}属性} element)。
请注意,.fullscreen-button
会自动应用$(selector).hide()
2
display: none
1 我说简单,因为它适用于大多数理智的网页。理论上你可能有一个id / class名称会导致在jQuery选择器中使用的问题,并且需要进行转义。