admin管理员组文章数量:1384858
var a = document.getElementById('a');
var b = document.getElementById('b');
b.style.cursor = 'pointer';
a.style.cursor = 'pointer';
a.onclick = function() {
$("#a").css("background-color", "red");
};
b.onclick = function() {
$("#b").css("background-color", "yellow");
};
<script src=".1.1/jquery.min.js"></script>
<div class="a" id="a">
Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh
</div>
<br>
<div class="b" id="b">
Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh
</div>
<br>
<div class="b" id="b">
Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh
</div>
var a = document.getElementById('a');
var b = document.getElementById('b');
b.style.cursor = 'pointer';
a.style.cursor = 'pointer';
a.onclick = function() {
$("#a").css("background-color", "red");
};
b.onclick = function() {
$("#b").css("background-color", "yellow");
};
<script src="https://ajax.googleapis./ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="a" id="a">
Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh
</div>
<br>
<div class="b" id="b">
Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh
</div>
<br>
<div class="b" id="b">
Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh
</div>
I want to add background-color css to the div i click and again clicking on the same dive it should remove the BG color.
Here i wrote the code as getting id statically. I may get many div in future so i need to get the div id dynamically. like something $this.id bla bla... please help me. Thank u..
Share Improve this question edited Dec 9, 2016 at 5:53 Jai 74.7k12 gold badges76 silver badges104 bronze badges asked Dec 9, 2016 at 5:49 LogeshwaranLogeshwaran 4615 silver badges12 bronze badges 5-
Give all your
div
elements aclass
on which you want to add this highlighting option. – philantrovert Commented Dec 9, 2016 at 5:51 - Which language are you using? as you said it will be dynamic and you may get many div, that means its in for loop. so which language will you use for that? – rushil Commented Dec 9, 2016 at 5:53
- also which colers do you want? here you have shown 2 colours , red and yellow. – rushil Commented Dec 9, 2016 at 5:54
- 1 A sidenote: IDs should have to be unique for each element in a single page. – Jai Commented Dec 9, 2016 at 5:56
- jsfiddle/bq1hewvs/3 – Mahi Commented Dec 9, 2016 at 5:56
4 Answers
Reset to default 5You can use toggleClass
to toggle between highlight and unhighlight
$('div').click(function(){
$(this).toggleClass('red');
});
$('div').click(function(){
$(this).toggleClass('red');
});
.red {
background:red;
}
<script src="https://ajax.googleapis./ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="a" id="a">
Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh
</div>
<br>
<div class="b" id="b">
Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh
</div>
<br>
<div class="b" id="b">
Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh
</div>
or use a data attribute to store your colors:
$('div').click(function(){
$(this).css('background',$(this).attr('data-color'));
$(this).toggleClass('default');
});
.default {
background:#fff!important;
}
<script src="https://ajax.googleapis./ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="default" id="a" data-color="red">
Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh
</div>
<br>
<div class="default" id="b" data-color="yellow">
Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh
</div>
<br>
<div class="default" id="b" data-color="blue">
Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh
</div>
Try with toggleClass() And b
is two times there so use with class and apply with .each() .It will apply the each class of b
.
$(document).ready(function(){
$('#a').click(function(){
$(this).toggleClass("red");
})
$('.b').each(function(){
$(this).click(function(){
$(this).toggleClass("yellow");
})
})
})
div{
cursor:pointer;
}
.red{
background-color:red;
}
.yellow{
background-color:yellow;
}
<script src="https://ajax.googleapis./ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="a" id="a">
Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh
</div>
<br>
<div class="b" id="b">
Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh
</div>
<br>
<div class="b" id="b">
Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh Logesh
</div>
Added toggleClass on .red class
a.onclick = function() {
$("#a").toggleClass("red");
};
And style
<style>
.red {
background-color:red;
}
</style>
https://jsfiddle/bq1hewvs/1/
if you want to use pure javascript, you don't need library just add this only
and add css .blue { background:#06C;}
var a = document.getElementById('a');
var b = document.getElementById('b');
b.style.cursor = 'pointer';
a.style.cursor = 'pointer';
a.onclick = function() {
var myButtonClasses = document.getElementById("a").classList;
if (myButtonClasses.contains("blue")) {
myButtonClasses.remove("blue");
}else {
myButtonClasses.add("blue");
}
};
b.onclick = function() {
var myButtonClasses = document.getElementById("b").classList;
if (myButtonClasses.contains("blue")) {
myButtonClasses.remove("blue");
}else {
myButtonClasses.add("blue");
}
};
本文标签: javascriptHighlight the div onclick and unhighlight second time clickStack Overflow
版权声明:本文标题:javascript - Highlight the div onclick and unhighlight second time click - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1744530659a2611016.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论