Asp.net 单击按钮后如何更改类

Asp.net 单击按钮后如何更改类,asp.net,Asp.net,这是webform1代码。我想在单击按钮后更改按钮的类别 我在单击按钮时调用javascript函数 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="valid_try2.WebForm1" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head

这是webform1代码。我想在单击按钮后更改按钮的类别 我在单击按钮时调用javascript函数

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="valid_try2.WebForm1" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <script type="text/javascript" src="JavaScript1.js"></script>
      <link rel="stylesheet" href="StyleSheet1.css"/>
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>

    <button id="btn" class="xx" name="btn" onclick="abc()">Button</button>
    </div>
    </form>
</body>
</html>
这是javascript文件

function abc() {
    $("#btn").removeClass("xx");
    $("#btn").addClass("yy");
}

一切看起来都很好。只需将JQuery引用添加到aspx文件

在添加以下行之前

<script src="https://code.jquery.com/jquery-latest.min.js"></script>

看起来一切正常。只需将JQuery引用添加到aspx文件

在添加以下行之前

<script src="https://code.jquery.com/jquery-latest.min.js"></script>

请尝试下面的代码截取,希望能有所帮助

    <!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
$(document).ready(function(){
    $("button").click(function(){
   $("#p1").toggleClass('classB');
    });
});
</script>
<style>
.classA{color:red;}
.classB{color:yellow;}
</style>


</head>
<body>

<h2 class="">Click the button to change the class</h2>

<p id="p1" class="classA">I will be changed when you pressed click me</p>


<button>Click me </button>

</body>
</html>

$(文档).ready(函数(){
$(“按钮”)。单击(函数(){
$(“#p1”).toggleClass('classB');
});
});
.classA{颜色:红色;}
.classB{颜色:黄色;}
单击按钮以更改类

当您按“单击我”时,我将被更改

点击我
请尝试下面的代码截取,希望能有所帮助

    <!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
$(document).ready(function(){
    $("button").click(function(){
   $("#p1").toggleClass('classB');
    });
});
</script>
<style>
.classA{color:red;}
.classB{color:yellow;}
</style>


</head>
<body>

<h2 class="">Click the button to change the class</h2>

<p id="p1" class="classA">I will be changed when you pressed click me</p>


<button>Click me </button>

</body>
</html>

$(文档).ready(函数(){
$(“按钮”)。单击(函数(){
$(“#p1”).toggleClass('classB');
});
});
.classA{颜色:红色;}
.classB{颜色:黄色;}
单击按钮以更改类

当您按“单击我”时,我将被更改

点击我
您的按钮将触发表单post(回发),因此您使用
abc()
所做的所有操作都将丢失

但是,由于您的标记是asp.net,您可以执行以下操作:

<asp:Button ID="Button1" runat="server" Text="Button" CssClass="xx" OnClick="Button1_Click" />

如果您错误地标记了您的问题,并且想要一个纯javascipt/css解决方案,请将
type=“button”
添加到该按钮,将不会执行表单发布。

您的按钮将触发表单发布(回发),因此您使用
abc()
所做的所有事情都将丢失

但是,由于您的标记是asp.net,您可以执行以下操作:

<asp:Button ID="Button1" runat="server" Text="Button" CssClass="xx" OnClick="Button1_Click" />

如果您错误地标记了您的问题,并且想要一个纯javascipt/css解决方案,请在按钮中添加
type=“button”
,这样就不会执行表单发布。

我认为您需要这样的解决方案

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <script src="../js/jquery.js" type="text/javascript"></script>

    <title></title>
    <style>
        .xx {
    border: 5px solid green;    
}

.yy {
    border: 5px solid red;    
}
    </style>
</head>
<body>
    <form id="form1" runat="server">
    <div>

    <button id="btn" class="xx" name="btn">Button</button>
    </div>
    </form>
    <script>
        $(function() {
            $('#btn').click(function(e) {
                e.preventDefault();
                var a = $(this).attr('class');
                console.log(a);
                if (a === 'xx') {
                    $(this).removeAttr('class');
                    $(this).addClass("yy");
                } else {
                    $(this).removeAttr('class');
                    $(this).addClass("xx");
                }

            });
        })
    </script>
</body>
</html>

.xx{
边框:5px纯绿色;
}
.yy{
边框:5px纯红;
}
按钮
$(函数(){
$('#btn')。单击(函数(e){
e、 预防默认值();
var a=$(this.attr('class');
控制台日志(a);
如果(a=='xx'){
$(this.removeAttr('class');
$(本).addClass(“yy”);
}否则{
$(this.removeAttr('class');
$(此).addClass(“xx”);
}
});
})

我想你需要这样的东西

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <script src="../js/jquery.js" type="text/javascript"></script>

    <title></title>
    <style>
        .xx {
    border: 5px solid green;    
}

.yy {
    border: 5px solid red;    
}
    </style>
</head>
<body>
    <form id="form1" runat="server">
    <div>

    <button id="btn" class="xx" name="btn">Button</button>
    </div>
    </form>
    <script>
        $(function() {
            $('#btn').click(function(e) {
                e.preventDefault();
                var a = $(this).attr('class');
                console.log(a);
                if (a === 'xx') {
                    $(this).removeAttr('class');
                    $(this).addClass("yy");
                } else {
                    $(this).removeAttr('class');
                    $(this).addClass("xx");
                }

            });
        })
    </script>
</body>
</html>

.xx{
边框:5px纯绿色;
}
.yy{
边框:5px纯红;
}
按钮
$(函数(){
$('#btn')。单击(函数(e){
e、 预防默认值();
var a=$(this.attr('class');
控制台日志(a);
如果(a=='xx'){
$(this.removeAttr('class');
$(本).addClass(“yy”);
}否则{
$(this.removeAttr('class');
$(此).addClass(“xx”);
}
});
})

我在html文件中没有看到jQuery引用。检查inspect元素后,是否在浏览器中收到“$IsUndefined”消息?我在html文件中没有看到jQuery引用。检查检查元素后,是否在浏览器中收到“$未定义”消息?$(文档).ready(函数(){$(“按钮”).click(函数(){$(“#p1”).toggleClass('classB');});});当我在javascript文件中调用上述代码时,该代码未运行。我看不出您已经在代码中导入了Jquery src=“>在导入您自己的javascript文件之前调用该脚本,并查看它是否工作。$(文档)。就绪(function(){$(“button”)。单击(function(){$(“#p1”)。toggleClass('classB');});当我在javascript文件中调用上述代码时,该代码未运行。我看不出您已在代码中导入Jquery src=“>在导入自己的javascript文件之前调用该脚本,并查看它是否有效。