Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在多链接中调用相同的jQuery函数<;a>;_Javascript_Jquery_Html_Hyperlink - Fatal编程技术网

Javascript 在多链接中调用相同的jQuery函数<;a>;

Javascript 在多链接中调用相同的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>

我对jQuery不是很熟悉。 这个想法是 链接a
href=“..”插曲=1“
将处于添加类
活动状态
,而另一个链接将不会处于添加类活动状态 链接a
href='..?插曲=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');
    })
    })