0

我有这个标记:

<b class="learn more">
Learn more <span class="closedTriangle">&#x25BA;</span><span class="openTriangle">&#x25BC;</span>
</b>

这个jQuery:

$('.learnMore').click(function() {
    $(this).next().slideToggle('fast');
    $('.learnMore + .closedTriangle').toggle();
    $('.learnMore + .openTriangle').toggle();
});

我尝试用 $(this) 包装选择器,但我看到标记不在此上下文中。

我试图使用和相邻的选择器,但我还没有获胜。我正在尝试在箭头之间切换显示/隐藏,但仅在特定上下文中。我在页面周围有许多“了解更多”,因此只需选择课程就会影响页面上的所有课程

4

2 回答 2

1

演示 jsBin

  • 您在 HTML(类名)中有错字
  • 并且在 jQuery 中只是引用 this parent喜欢:$('YourChildrenElementOf', this)

HTML:

  <b class="learnMore">  <!-- FIXED CLASS NAME TYPO -->
Learn more <span class="closedTriangle">&#x25BA;</span><span class="openTriangle">&#x25BC;</span>
</b>

jQuery:

$('.learnMore').click(function() {
    $('span', this).toggle();
});
于 2012-05-13T21:32:51.733 回答
0

删除选择器中的 +。

$('.learnMore  .closedTriangle')

表示类 .closedTriangle 的所有元素在类 .learnMore 的元素下

另外,请注意,在您的标记中,有 2 个单独的类,学习等等。.learnMore 类没有元素

于 2012-05-13T21:32:28.967 回答