Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.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
Jquery 在div标记中一次只选择一个文本,并更改所选文本的颜色_Jquery_Html_Css - Fatal编程技术网

Jquery 在div标记中一次只选择一个文本,并更改所选文本的颜色

Jquery 在div标记中一次只选择一个文本,并更改所选文本的颜色,jquery,html,css,Jquery,Html,Css,我有一个要求,我应该能够选择一次只有一个文本。当我选择文本时,所选文本的背景色应该改变。为了实现这一点,我使用jquery。使用下面的代码,我可以更改所选文本的颜色,但我无法在给定时间点将其限制为仅一个选择 $(“#”+divid).find('.highlight').removeClass('.highlight') $(val).addClass('highlight') 我使用上述两个jquery代码来限制在给定的时间点只能选择一个选项,但它不起作用 如果我哪里出错了,请纠正我 下面的代

我有一个要求,我应该能够选择一次只有一个文本。当我选择文本时,所选文本的背景色应该改变。为了实现这一点,我使用jquery。使用下面的代码,我可以更改所选文本的颜色,但我无法在给定时间点将其限制为仅一个选择

$(“#”+divid).find('.highlight').removeClass('.highlight')

$(val).addClass('highlight')

我使用上述两个jquery代码来限制在给定的时间点只能选择一个选项,但它不起作用

如果我哪里出错了,请纠正我

下面的代码片段更清楚地解释了这个问题

功能检查(val,divid){
$(“#”+divid).find('.highlight').removeClass('.highlight');
$(val).addClass('highlight');
}
。突出显示{
背景颜色:蓝色;
}

JAVA
ASP
C
C++

数学
英语
社交
科学

removeClass
功能中删除
突出显示
前面的句点

功能检查(val,divid){
$(“#”+divid).find('.highlight').removeClass('highlight');
$(val).addClass('highlight');
}
。突出显示{
背景颜色:蓝色;
}

JAVA
ASP
C
C++

数学
英语
社交
科学

你的问题是
.removeClass()中的点。但是,如果我能建议你一个更好的方法来做你想做的事情,它将如下

如果使用jQuery,请忘记内联
onclick
属性。。。并使用
.on()
注册事件处理程序

$(“span”)。在(“单击”,函数()上{
$(this.sides().removeClass(“highlight”);
$(此).addClass(“突出显示”);
});
。突出显示{
背景颜色:蓝色;
}

JAVA
ASP
C
C++

数学
英语
社交
科学

Louys Patrice Bessette是对的,他给了你一个很好的例子,说明了如何做到这一点,但我只想提供我的方法

但首先你需要给所有人上一节课。 我更喜欢“技巧”

这将分别适用于div

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id ="1">
    <span id="a" class="skill">JAVA</span><br>
    <span id="b" class="skill">ASP</span><br>
    <span id="c" class="skill">C</span><br>
    <span id="d" class="skill">C++</span><br>
</div>

<br>
<div id ="2">
    <span id="e" class="skill">MATHS</span><br>
    <span id="f" class="skill">ENGLISH</span><br>
    <span id="g" class="skill">SOCIAL</span><br>
    <span id="h" class="skill">SCIENCE</span><br>
</div>



$('.skill').on('click',function() {
    $(this).addClass('highlight').siblings().removeClass('highlight');
});

JAVA
ASP
C
C++

数学
英语
社交
科学
$('.skill')。在('click',function()上{ $(this.addClass('highlight').sides().removeClass('highlight'); });
将其更改为removeClass(“突出显示”),而不使用。