如何使用jquery或javascript修复我的评分系统

时间:2017-11-01 09:34:39

标签: javascript jquery html

对于一个项目,我正在开发代码,用于检查HTML中某些位置是否存在某个输入值。所以我正在检查图标内容的标题或标题中是否出现了单词。如果存在某个单词,它将被分配一个小绿球,如果不是,则为红色球,我会进行多次检查,对于不同颜色的球,分配给它的点数不同,仍然跟随?,所以我有各种各样的支票用红色,绿色和橙色的球都有自己的if语句。我想添加所有这些点来创建“totalscore”。更新:经过所有的建议和一些指向教程的好指点后,我把它归结为这个,但它仍然不起作用,我是否越来越接近了?

以下是我现在所拥有的一个例子:

 $("#btnTotalScore").click(function () {
        var totalScore = 0;
        function TitleScore() {
            if ($("#lblMetaTitle").hasClass("orange")) {
                return totalScore += 20;
            } else if ($("#lblMetaTitle").hasClass("green")) {
                return totalScore += 25;
            } else {
                return 0;
            }
        }
        function MetaScore() {
            if ($("#lblMetaDescription").hasClass("orange")) {
                return totalScore += 20;
            } else if ($("#lblMetaDescription").hasClass("green")) {
                return totalScore += 25;
            } else {
                return 0;
            }
        }
        function PresenceScore() {
            if ($("#lblTitle").hasClass("green")) {
                return totalScore += 10;
            } else if ($("#lblMeta").hasClass("green")) {
                return totalScore += 5;
            } else if ($("#lblAlt").hasClass("green")) {
                return totalScore += 5;
            } else if ($("#lblContent").hasClass("green")) {
                return totalScore += 5;
            } else if ($("#lblUrl").hasClass("green")) {
                return totalScore += 5;
            } else {
                return 0;
            }
        }
        function ContentScore() {
            if ($("#lblContentAmount").hasClass("orange")) {
                return totalScore += 2.5;
            } else if ($("#lblContentAmount").hasClass("green")) {
                return totalScore += 5;
            } else {
                return 0;
            }
        }
        function DensityScore() {
            if ($("#lblKeywordDensity").hasClass("orange")) {
                return totalScore += 2.5;
            } else if ($("#lblKeywordDensity").hasClass("green")) {
                return totalScore += 5;
            } else {
                return 0;
            }
        }
        alert(totalScore);
    });

1 个答案:

答案 0 :(得分:1)

首先,您不是switch ($("#btnTotalScore").click == true))而是寻找$("#btnTotalScore").click( function(){ ....... })。如果按钮的click属性为真,那么你想执行一个单击而不是测试的函数。(

)。

然后,您需要找case $("#lblMetaTitle").attr("class", "circle orange"): totalScore+=20;

之类的if( $("#lblMetaTitle").hasClass("orange")) totalScore+=20;而不是switch case

您正在使用click来测试按钮的import os属性是否为真(?),然后对于每个情况都是如此,您可以测试它是否为真等于类赋值的返回值(?) 我的意思是,这个代码甚至没有错误,它首先没有意义(没有冒犯:) 我建议你先阅读一堆基础教程。