Javascript 只给我点击的元素一个样式
我正在为我的页面制作一个过滤器。 一切正常,但我唯一不能解决的问题是如何给我按下的按钮赋予风格。当我尝试使用jQuery时,它会为所有按钮提供样式 以下是我正在使用的代码:Javascript 只给我点击的元素一个样式,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我正在为我的页面制作一个过滤器。 一切正常,但我唯一不能解决的问题是如何给我按下的按钮赋予风格。当我尝试使用jQuery时,它会为所有按钮提供样式 以下是我正在使用的代码: <div class="filter_options"> <!-- <div class="map_trigger"></div> <div class="list_trigger active"></div>--> <h3 sty
<div class="filter_options">
<!-- <div class="map_trigger"></div>
<div class="list_trigger active"></div>-->
<h3 style="display: inline-block; margin-top: 15px!important;">Kies een discipline: </h3>
<div id="uwpqsf_id">
<form id="uwpqsffrom_43">
<div class="uform_title">Projecten</div>
<input type="hidden" name="unonce" value="8fa32e7b04">
<input type="hidden" name="uformid" value="43">
<input type="hidden" id="uajaxdiv" value=".projecten_list">
<div class="uwpqsf_class " id="tax-radio-0">
<span class="taxolabel-0">Disciplines</span>
<input type="hidden" name="taxo[0][name]" value="Werkgebied">
<input type="hidden" name="taxo[0][opt]" value="">
<label>
<input type="radio" id="tradio-0-0" class="tradio-0" name="taxo[0][term]" value="uwpqsftaxoall">Disciplines</label>
<label>
<input type="radio" id="tradio-0-1" class="tradio-0" name="taxo[0][term]" value="bagger">Bagger</label>
<label><input type="radio" id="tradio-0-2" class="tradio-0" name="taxo[0][term]" value="groen">Groen</label>
<label><input type="radio" id="tradio-0-3" class="tradio-0" name="taxo[0][term]" value="infra">Infra</label>
<label><input type="radio" id="tradio-0-4" class="tradio-0" name="taxo[0][term]" value="milieutec">Milieutec</label></div>
<script type="text/javascript">jQuery(document).ready(function($) {
var formid = "#uwpqsffrom_43";
$(formid).find('input, textarea, button, select').change(function(){
process_data($(this));
})
;})</script>
<div style="clear:both"></div></form></div> </div>
我也不能向HTML添加任何新的ID或类,因为它是由插件生成的
$(document).ready(function() {
$("label").click(function(){
$("label").css("background-color: black;");
});
});
改为
$(document).ready(function() {
$("label").click(function(){
$(this).css("background-color: black;");
});
});
正如@deep所说 在事件处理程序中使用$(this)
仅引用触发事件的单个元素
$( document ).ready(function() {
$("label").click(function(){
$(this).css("background-color: black;");
});
});
传递给.css函数的参数不正确
$(document).ready(function() {
$("label").click(function(){
$(this).css("background-color", "black");
});
});
如果你是按插件来推标签,你需要像这样修改你的代码
$(function(){
$(document).on('click', 'label', function(){
$(this).css("background-color", "red");
});
});
$(函数(){
$(文档)。在('click','label',function()上{
if($('label').hasClass('red')){
$(此).each(函数(索引,元素){
$('label').removeClass('red');
});
}
$(this.addClass('red'))
});
});代码>
.red{
背景:红色;
}
点击我
点击我
点击我
点击我
您是否尝试了$(此)?简单,替换为$(“标签”).css(“背景色:黑色;”)使用$(this).css(“背景色:黑色;”)进行编码>
您应该已经知道,因为您在脚本的其他部分使用了$(this)
。。实际上,第一次这样做是错误的,在该上下文中这是文档。谢谢@Naila,但是当我单击其他标签时,其他标签的背景色需要删除。你能帮我个忙吗?好的,等一下。如果答案对你完全有用,请勾选
$(function(){
$(document).on('click', 'label', function(){
$(this).css("background-color", "red");
});
});