我有这个标记:
<b class="learn more">
Learn more <span class="closedTriangle">►</span><span class="openTriangle">▼</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">►</span><span class="openTriangle">▼</span>
</b>
j查询:
$('.learnMore').click(function() {
$('span', this).toggle();
});
删除选择器中的 +。
$('.learnMore .closedTriangle')
表示类为 .closedTriangle 且位于类 .learnMore 的元素下的所有元素
另外,请注意,在您的标记中,有 2 个单独的类,学习和更多。.learnMore 类中没有元素