jQuery addClass onClick

Phi*_*hil 25 javascript asp.net jquery

环境很简单; 我希望能够在触发onClick-event时向(在本例中)一个按钮添加一个类.我的问题是我还没有找到一种方法将按钮本身作为参数传递给函数.我想做点什么:

<asp:Button ID="Button" runat="server" onclick="addClassByClick(this)"/>
Run Code Online (Sandbox Code Playgroud)

然后是一个像这样的javaScript函数:

function addClassByClick(button){
    button.addClass("active")
}
Run Code Online (Sandbox Code Playgroud)

我知道我在这里遇到了很多错误,但这就是我发帖的原因.我已经尝试过使用jQuery和没有jQuery的不同场景但我总是最终得到一个破碎的解决方案(点击突然停止通过,课程没有添加等等)所以我决定问专业人士.

对我可以尝试的任何建议?感谢阅读编辑和所有帮助!

Nic*_*ver 46

它需要是一个jQuery元素才能使用.addClass(),因此它需要$()像这样包装:

function addClassByClick(button){
  $(button).addClass("active")
}
Run Code Online (Sandbox Code Playgroud)

更好的整体解决方案是不显眼的脚本,例如:

<asp:Button ID="Button" runat="server" class="clickable"/>
Run Code Online (Sandbox Code Playgroud)

然后在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
  });
});
Run Code Online (Sandbox Code Playgroud)


Ben*_*end 10

使用jQuery:

$('#Button').click(function(){
    $(this).addClass("active");
});
Run Code Online (Sandbox Code Playgroud)

这样,您就不必使用onclick处理程序污染HTML标记.