Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.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 在两个不同元素之间切换类_Javascript_Jquery - Fatal编程技术网

Javascript 在两个不同元素之间切换类

Javascript 在两个不同元素之间切换类,javascript,jquery,Javascript,Jquery,我想在两个锚标记上的两个类之间切换。当我点击非粗体链接时,我希望它变为粗体,然后另一个变为正常。但是我真的不知道该怎么做 我尝试了几种方法: $.link.clickfunction{ e、 防止违约; 如果选择了$this.hasclass{ $this.removeclasssselected; }否则{ $this.addClassselected; } }; .选定{ 字体大小:粗体; } 筛选依据: 链接2 这个怎么样。你可以使用这个方法 $.link.clickfunction{

我想在两个锚标记上的两个类之间切换。当我点击非粗体链接时,我希望它变为粗体,然后另一个变为正常。但是我真的不知道该怎么做

我尝试了几种方法:

$.link.clickfunction{ e、 防止违约; 如果选择了$this.hasclass{ $this.removeclasssselected; }否则{ $this.addClassselected; } }; .选定{ 字体大小:粗体; } 筛选依据: 链接2
这个怎么样。你可以使用这个方法

$.link.clickfunction{ $this.toggleClassselected; $this.sides'a'。切换类'selected'; }; .选定{ 字体大小:粗体; } 筛选依据:
公认的答案是正确的,但需要补充:

$(".link").click(function(e) {
    var isSelected = $(this).hasClass("selected");
    e.preventDefault();
    if (!isSelected) {
      $(this).toggleClass("selected");
      $(this).siblings('a').toggleClass('selected');
    }
});
本质上,仅当您单击的不是所选元素时才执行切换操作

更简单的解决方案

$(".link").click(function(e) {
    e.preventDefault();
    $(".link").removeClass("selected");
    $(this).addClass("selected");
});

从所有链接中删除所选类,然后将其添加到单击的元素中。这将适用于2个以上的链接,而且更简单。无需检查所选类或获取同级。

从$中删除所选类。链接,然后将所选类添加到$此项目。在这种情况下,不需要检查所选的类。我还假设你不希望点击时粗体链接正常。如果你能确认我的假设是正确的,我可以发布一个答案。我可能只想删除兄弟姐妹上的类。这非常接近,但会影响标记。我想我需要把一个具体的论点传给兄弟姐妹来防止这种情况发生。Thanks@kawnah可以添加类似“a”的选择器,并且不会影响span@charlietfl非常感谢。我将调整我的答案。应该有一个if语句来检查链接是否首先选择了类,否则,如果您两次单击同一链接,所选类将添加到所有其他同级元素。如果单击所选元素,则基本上不会发生任何事