jQuery addClass onClick
环境很简单; 我希望能够在触发onClick事件时向(在这种情况下)一个按钮添加一个类。 我的问题是我还没有找到一种方法将按钮本身作为参数传递给函数。 我想做的事情如下:
然后是一个像这样的javaScript函数:
function addClassByClick(button){ button.addClass("active") }
我知道我在这里遇到了很多错误,但这就是我发帖的原因。 我尝试过使用jQuery和没有jQuery的不同场景,但我总是最终得到一个破解的解决方案(点击突然停止通过,课程没有添加等等)所以我决定问专业人士。
对我可以尝试的任何建议? 感谢阅读编辑和所有帮助!
它需要是一个使用.addClass()
的jQuery元素,所以需要将它包装在$()
如下所示:
function addClassByClick(button){ $(button).addClass("active") }
更好的整体解决方案是不显眼的脚本,例如:
然后在jquery中:
$(function() { //run when the DOM is ready $(".clickable").click(function() { //use a class, since your ID gets mangled $(this).addClass("active"); //add the class to the clicked element }); });
使用jQuery:
$('#Button').click(function(){ $(this).addClass("active"); });
这样,您就不必使用onclick
处理程序污染HTML标记。
$(document).ready(function() { $('#Button').click(function() { $(this).addClass('active'); }); });
应该做的伎俩。 除非你用ajax加载按钮。 在这种情况下你可以这样做:
$('#Button').live('click', function() {...
另外请记住,不要在html代码中多次使用相同的id。
$('#button').click(function(){ $(this).addClass('active'); });
尝试使你的CSS更具体,以便新的(绿色)风格比前一个更具体,所以它对我有用!
例如,您可以在css中使用:
button:active {/*your style here*/}
而不是(可能不工作):
.active {/*style*/} (.active is not a pseudo-class)
希望能帮助到你!