此跨度与用于定位的 b 钩子标签有何关系



我有这个标记:

<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( 包装选择器,但我看到标记不在此上下文中。

我试图使用和相邻的选择器,但我还没有赢。我正在尝试在箭头之间切换显示/隐藏,但仅限于特定上下文。我在页面上有许多"了解更多",因此仅选择类就会影响页面上的所有类

demo 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>

j查询:

$('.learnMore').click(function() {
    $('span', this).toggle();
});

删除选择器中的 +。

$('.learnMore  .closedTriangle')

表示类为 .closedTriangle 且位于类 .learnMore 的元素下的所有元素

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

最新更新