javascript - 我可以使用 jQuery 独立定位 CSS 类的实例吗?
问题描述
我正在寻找使用 jQuery 在单击时更改 div 的背景颜色(我已经开始工作了!)但是单击一下会更改所有 div 的颜色,我想知道是否有任何方法可以更改已单击而不影响其他元素的特定元素的颜色?
$(document).ready(function() {
$(".bg").click(function() {
$(".bg").css("background-color", "red");
});
});
.bg {
background-color: blue;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="bg">
<p id="demo" onclick="colorSwitch()">Click me to change my text color.</p>
</div>
<div class="bg">
<p id="demo" onclick="colorSwitch()">Click me to change my text color.</p>
</div>
<div class="bg">
<p id="demo" onclick="colorSwitch()">Click me to change my text color.</p>
</div>
<p>A function is triggered when the div element is clicked. The function sets the background-color of the div element to red.</p>
JSFiddle 也在这里:https ://jsfiddle.net/davywest1000/jd82hq5t/2/
提前致谢!
解决方案
您只需使用$(this)
关键字来引用单击的元素。
注意:删除内联事件onclick="colorSwitch()"
,因为您已经在 JS 代码中附加了该事件,如果您想调用该函数colorSwitch
,您可以在事件中调用它。
$(document).ready(function() {
$(".bg").click(function() {
$(this).css("background-color", "red");
});
});
.bg {
background-color: blue;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="bg">
<p id="demo">Click me to change my text color.</p>
</div>
<div class="bg">
<p id="demo">Click me to change my text color.</p>
</div>
<div class="bg">
<p id="demo">Click me to change my text color.</p>
</div>
推荐阅读
- node.js - 为什么我不能在 Node.js 中使用 await 函数?
- python - 如何在 matplotlib 上绘制“igraph”对象时启用“cairo”后端?
- c++ - 最大化切割段
- javascript - webpack PurgeCSS webpack 插件未按预期工作
- html - 字体真棒书阅读器图标未加载
- database - 关于数据库概念的建议
- java - ElasticSearch 无法解析日期字段
- javascript - 这段代码的“text+=”部分是做什么的?
- python - 如何组织我的 tkinter 应用程序?
- javascript - 如何使用 css、js 和 html 将谷歌搜索面板添加到我的网站?