如何将 var/id 与类匹配

发布于 2024-09-04 01:52:18 字数 855 浏览 12 评论 0原文

我是 jquery 的新手,此外,我认为我的大脑冻结了。

我有许多具有不同 ID 的链接。我想将单击的链接与具有相应类的 div 相匹配,以便 div 将根据需要显示/隐藏/切换。

我有:

<script type="text/javascript">
$(document).ready(function() {
 $('.folioBox').hide();

 $('a.interface').click(function(){
        var currentId = $(this).attr('id');
        var currentBox = $('.folioBox .' + currentId);

        $(currentBox).toggle(400);

        });
});
</script>


<a class="interface" id="apple">Apple flavor</a>
<a class="interface" id="banana">Banana flavor</a>
<a class="interface" id="cherry">Cherry flavor</a>

<div class="folioBox apple">content</div>
<div class="folioBox banana">content</div>
<div class="folioBox cherry">content</div>

我只是无法让它工作,而且我不知道我是否最好使用匹配、查找或过滤。

一些帮助将不胜感激!

I'm new to jquery and, in addition, I think I'm having a brain freeze.

I have a number of links with different ids. I want to match the clicked link with a div with the corresponding class so the div will show/hide/toggle as appropriate.

I have:

<script type="text/javascript">
$(document).ready(function() {
 $('.folioBox').hide();

 $('a.interface').click(function(){
        var currentId = $(this).attr('id');
        var currentBox = $('.folioBox .' + currentId);

        $(currentBox).toggle(400);

        });
});
</script>


<a class="interface" id="apple">Apple flavor</a>
<a class="interface" id="banana">Banana flavor</a>
<a class="interface" id="cherry">Cherry flavor</a>

<div class="folioBox apple">content</div>
<div class="folioBox banana">content</div>
<div class="folioBox cherry">content</div>

I just can't get it to work and I can't figure out whether I would be best using match or find or filter.

Some assistance would be much appreciated!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

鯉魚旗 2024-09-11 01:52:18

尝试:

$("a.interface").click(function() {
  $("div.followBox." + this.id).toggle(400);
  return false;
});

没有必要让它变得更复杂。如果有多个匹配项,那么它们都会被切换。

注意:我已使点击处理程序返回 false,以便停止跟踪链接。根据 href 属性中的内容,页面实际上可能会刷新,这解释了为什么它看起来不起作用。

Try:

$("a.interface").click(function() {
  $("div.followBox." + this.id).toggle(400);
  return false;
});

No need to make it more complex than that. If there are multiple matches, then they'll all be toggled.

Note: I've made the click handler return false so stop the link being followed. Depending on what you have in the href attribute, the page may actually being refreshed, which explains why it appears not to be working.

甜`诱少女 2024-09-11 01:52:18

现在只是看看它,但你是否尝试过在最后因为撞到锚点而返回 false ?

让我知道这是否有效,我将停止调试此端。

编辑

去掉两个类之间的空格。

var currentBox = $('.folioBox.' + currentId);

Just looking at it now but have you tried doing a return false at the end because you are hitting an anchor?

let me know if that works and i'll stop debugging this end.

EDIT

Get rid of the space between the two classes.

var currentBox = $('.folioBox.' + currentId);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文