Javascript 使用onclick调用函数,并在该函数中使用onclick调用另一个函数

Javascript 使用onclick调用函数,并在该函数中使用onclick调用另一个函数,javascript,css,onclick,Javascript,Css,Onclick,我试图使用onclick调用一个函数,但是这个函数已经在另一个通过onclick调用的函数中了 我真的想继续这样做6-7次 代码可能有助于减少混淆: HTML+JS: { <body> <script type="text/javascript"> function abc() { document.getElementById("first").className='disc'; document.getElementById("first").onC

我试图使用onclick调用一个函数,但是这个函数已经在另一个通过onclick调用的函数中了

我真的想继续这样做6-7次

代码可能有助于减少混淆:

HTML+JS:

{
<body>
<script type="text/javascript">

function abc()
{
    document.getElementById("first").className='disc';
    document.getElementById("first").onClick="def();";
}
function def()
{
    document.getElementById("first").className='disco';
}

</script>
<input type="button" value="Change Color of this text" id="first" class="" onclick="abc();">
</body>

}

我想在用户每次单击按钮时更改按钮中文本的颜色。那么问题是什么呢?当我再次单击它时,它只会变为红色,而不会变为黄色。

我认为根据您在评论中的要求,这应该适合您:-

Javascript

function abc(){
    if(document.getElementById("first").className == "" || document.getElementById("first").className == "disco"){
        document.getElementById("first").className = "disc";
    }
    else if(document.getElementById("first").className=="disc"){
        document.getElementById("first").className="disco";
    }    
}

您不需要更改HTML和css中的任何内容。

而不是将函数从abc()更改为def(),我不确定您是否可以这样做。。为什么不使用1函数并检查当前类名,如下面的代码:

function abc()
{
    if(document.getElementById("first").className == "disco" || document.getElementById("first").className == "") //change from red to yellow
       document.getElementById("first").className="disc";
    else //change from yellow to red
       document.getElementById("first").className="disco"; 
}


固定代码和更可靠的解决方案。

您在哪里看到将其更改为黄色的代码?我看不到。为什么不在css中使用鼠标悬停?它不会将其变回黄色。它将首先是黑色,当第一次单击时,它将变为红色,当第二次单击时,它将变为黄色。这就是我想要的
function abc()
{
    if(document.getElementById("first").className == "disco" || document.getElementById("first").className == "") //change from red to yellow
       document.getElementById("first").className="disc";
    else //change from yellow to red
       document.getElementById("first").className="disco"; 
}
var first = document.getElementById("first"), counter = 0;
first.addEventListener('click', function () {
    first.className = (counter % 2) ?  'disc' : 'disco';
    counter +=1;
});