为了账号安全,请及时绑定邮箱和手机立即绑定

连续点击按钮,p内文字style会切换,但最后显示文字时,one和two不会切换,为什么?怎么写才对?

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8"/>
        <title>changeClass</title>
        <style>
            .one
            {
                font-size:20px;
                color:#A0A;
                background-color:#FA0;
            }
            .two
            {
                font-size:50px;
                color:#000;
                background-color:#00F;
            }
            input
            {
                font-size:50px;
            }
        </style>
    </head>
    <body>
        <form>
            <input type="button" value="change_class_button" onclick="onChangeClass()"/>
        </form>
        <p id="testID" class="one">Javascript abc 汉字</p>
        <script>
            var some=document.getElementById("testID");
            document.write("元素p的class值为"+some.className);
            function onChangeClass()
            {
                if(some.className == "one")
                {
                    some.className="two";
                }
                else
                {
                    some.className="one";
                }
            }
        </script>
    </body>
</html>

连续点击按钮,p内文字style会切换,但最后显示文字时,one和two不会切换,为什么?怎么写才对?

正在回答

3 回答

document.write("元素p的class值为"+some.className);

只是打印了第一遍,click的时候改变的只是style.

1 回复 有任何疑惑可以回复我~
#1

赫塔缪勒_FreshFish 提问者

把document.write("元素p的class值为"+some.className); 这句写在function里面更奇怪,只会显示这句打印的字符串,p内文字都不知道哪去了。
2019-08-22 回复 有任何疑惑可以回复我~

<!DOCTYPE html>

<html>

    <head>

        <meta charset="utf-8"/>

        <title>changeClass</title>

        <style>

            .one

            {

                font-size:20px;

                color:#A0A;

                background-color:#FA0;

            }

            .two

            {

                font-size:50px;

                color:#000;

                background-color:#00F;

            }

            input

            {

                font-size:50px;

            }

        </style>

    </head>

    <body>

        <form>

            <input type="button" value="change_class_button" onclick="onChangeClass()"/>

        </form>

        <p id="testID" class="one">Javascript abc 汉字</p>

        <p>元素p的class值为<span id=ha1></span></p>

        <script>

            var some=document.getElementById("testID");

            var ha1=document.getElementById("ha1")


            function onChangeClass()

            {

                if(some.className == "one")

                {

                    some.className="two";

                    ha1.innerHTML=some.className;

                    

                }

                else

                {

                    some.className="one";

                     ha1.innerHTML=some.className;


                }

            }

        </script>

        

    </body>

</html>

//这样更为符合!!!!

0 回复 有任何疑惑可以回复我~

<!DOCTYPE html>

<html>

    <head>

        <meta charset="utf-8"/>

        <title>changeClass</title>

        <style>

            .one

            {

                font-size:20px;

                color:#A0A;

                background-color:#FA0;

            }

            .two

            {

                font-size:50px;

                color:#000;

                background-color:#00F;

            }

            input

            {

                font-size:50px;

            }

        </style>

    </head>

    <body>

        <form>

            <input type="button" value="change_class_button" onclick="onChangeClass()"/>

        </form>

        <p id="testID" class="one">Javascript abc 汉字</p>

        <p id="ha1">元素p的class值为</p>

        <script>

            var some=document.getElementById("testID");

            var ha2=document.getElementById("ha1")

            

            function onChangeClass()

            {

                if(some.className == "one")

                {

                    some.className="two";

                    ha2.innerHTML="元素p的class值为two"

                }

                else

                {

                    some.className="one";

                    ha2.innerHTML="元素p的class值为one"

                }

            }

        </script>

    </body>

</html>


!!!!!!!!!!!!!!可以改成这样

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

连续点击按钮,p内文字style会切换,但最后显示文字时,one和two不会切换,为什么?怎么写才对?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信