gpt4 book ai didi

javascript - jQuery if 和 $(this) 混淆

转载 作者:行者123 更新时间:2023-11-28 15:41:40 25 4
gpt4 key购买 nike

有件事困扰了我一段时间。

JavaScript

$('.video-tab-container ul li a').click(function(e) {
var thisClass = $(this).attr('class');
console.log(thisClass);
if ( $('.video-container .video').is('.' + thisClass) ) {
$(this).addClass('test');
}
e.preventDefault();
});

HTML

<div class="video-tab-container clearfix">
<ul>
<li><a class="chinese" href="#">Chinese</a></li>
<li><a class="thai" href="#">Thai</a></li>
<li><a class="english" href="#">English</a></li>
</ul>
</div>
<div class="video-container">
<div class="video chinese"></div>
<div class="video thai"></div>
<div class="video english"></div>
</div>

在 if 语句中,如何使 $(this) 成为 if 语句中的元素?那么,如果该语句为真,则 test 类会与相应的类一起添加到 .video 中吗?也许我做的这一切都是错误的。

最佳答案

您需要使用:

$(this).closest('.video-tab-container').next()
.find('.video.' + thisClass).addClass('test')
.siblings('.video').removeClass('test');

而不是:

$(this).addClass('test');

因为目前 $(this) 被视为您点击的 anchor 。

<强> Fiddle Demo

关于javascript - jQuery if 和 $(this) 混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23546704/

25 4 0
文章推荐: javascript - 使用 jQuery 在滚动条上绘制 SVG 线条
文章推荐: jquery - 使用 动画 SVG