Javascript 在多链接中调用相同的jQuery函数<;a>;
我对jQuery不是很熟悉。 这个想法是 链接aJavascript 在多链接中调用相同的jQuery函数<;a>;,javascript,jquery,html,hyperlink,Javascript,Jquery,Html,Hyperlink,我对jQuery不是很熟悉。 这个想法是 链接ahref=“..”插曲=1“将处于添加类活动状态,而另一个链接将不会处于添加类活动状态 链接ahref='..?插曲=2“将被添加到class活动中,而另一个链接将不会被添加到class中 与其他链接类似。我有html代码 <ul id="episode"> <li><a href="index.php?episode=1" class="active">1</a></li>
href=“..”插曲=1“
将处于添加类活动状态
,而另一个链接将不会处于添加类活动状态
链接ahref='..?插曲=2“
将被添加到class活动中
,而另一个链接将不会被添加到class中
与其他链接类似。我有html代码
<ul id="episode">
<li><a href="index.php?episode=1" class="active">1</a></li>
<li><a href="index.php?episode=2">2</a></li>
<li><a href="index.php?episode=3">3</a></li>
<li><a href="index.php?episode=4">4</a></li>
</ul>
问题是当选择一集时,消息会弹出两次,类被添加到其中,然后被删除。我不知道原因是什么?在那里我可以告诉我一个方法是没有解决方案似乎您的jQuery代码不正确,更正的代码如下所示
$(document).ready(function() {
$("a").click(function(){
if($(this).text()!="1"){
$("a.active").removeClass("active");
$(this).addClass("active");
alert($(this).text());
}
});
});
要解决您的问题,请检查尝试以下操作:
$(document).ready(function() {
var $wrapper = $('#episode');
var $links = $wrapper.find('a');
$wrapper.on('click', 'a', function (e) {
var $active = $(e.currentTarget);
$links.removeClass('active');
$active.addClass('active');
alert($active.text());
});
});
使用以下代码段:
它将从所有a
元素中删除活动类,然后将活动类添加到当前单击的元素中
$(文档).ready(函数(){
$(“a”)。单击(函数(){
$(“a”).removeClass(“活动”);
$(此).addClass(“活动”);
警报($(this.text());
});
});
.active{
颜色:红色;
}
首先,我建议您阅读一下jquery中的一些内容,因为如果这个列表变大,您就是在浪费资源
第二,你应该使用这个:
$(document).ready(function() {
$("ul").on('click', 'a', function () {
$("a.active").removeClass("active");
$(this).addClass('active');
});
});
这应该是有效的,我希望它能有所帮助
使用.find('a')
示例:
因此,您只想将活动类添加到单击的链接?您只修复了alert
问题中的文本,而不是OP实际询问的内容。
$(document).ready(function() {
$("ul").on('click', 'a', function () {
$("a.active").removeClass("active");
$(this).addClass('active');
});
});
$(document).ready(function () {
$('li a').click(function () {
$('#episode').find('a').removeClass('active')
$(this).addClass('active');
})
})