if和else部分不在查询中工作

时间:2015-06-09 04:42:20

标签: javascript jquery

我在jquery中尝试了if else语句,但它无效。我的代码就是这样。

jQuery(document).ready(function () {
        jQuery(".checkboxes").hide();
        //toggle the componenet with class msg_body
        jQuery(".Select").click(function () {
            jQuery(this).next(".checkboxes").slideToggle(500);
            if ($(".select").text() == "+") {
                alert('hi');
                $(".select").html() == "-"
            }
            else {
                $(".select").text() == "+";
            }
            return false;
        });
    });

任何帮助将不胜感激。

4 个答案:

答案 0 :(得分:0)

我想这是一个错字。把点头事件中的大写“S”代替“s”。

尝试以下代码: -

if ($(".Select").text() == "+") {
                alert('hi');
                $(".Select").html("-");
            }
            else {
                $(".Select").text() == "+";
            }

或简单地使用$(this)如下: -

 if ($(this).text().trim() == "+") {
            $(this).html("-");
        } else {
            $(this).text("+");
        }

答案 1 :(得分:0)

您无法为函数调用指定值。您的代码应该抛出类似Uncaught ReferenceError: Invalid left-hand side in assignment

的错误
jQuery(function ($) {
    $(".checkboxes").hide();
    //toggle the componenet with class msg_body
    $(".Select").click(function () {
        $(this).next(".checkboxes").slideToggle(500);
        $(this).text(function (i, txt) {
            return txt.trim() == '+' ? '-' : '+'
        })
        return false;
    });
});

答案 2 :(得分:0)

看看这个小提琴:JsFiddle 您应该将代码更改为此代码,同时将其分配为$(".Select").html("-");

jQuery(document).ready(function () {
        jQuery(".checkboxes").hide();
        //toggle the componenet with class msg_body
        jQuery(".Select").click(function () {
            jQuery(this).next(".checkboxes").slideToggle(500);
            if ($(".Select").text() == "+") {
                alert('hi');
                $(".Select").html("-");
            }
            else {
                $(".Select").text("+");
            }
            return false;
        });
    });

答案 3 :(得分:0)

首先,您使用的是两个不同的类.Select.select。我认为问题在于此。第二件事,它应该是html('-')而不是html() == '-',因为它是一个逻辑/条件语句,它将返回一个布尔值。它不是一个赋值语句。所以你的代码应该是:

jQuery(document).ready(function () {
    jQuery(".checkboxes").hide();
    //toggle the componenet with class msg_body
    jQuery(".select").click(function () {
        jQuery(this).next(".checkboxes").slideToggle(500);
        if ($(".select").text() == "+") {
            alert('hi');
            $(".select").html("-");
        }
        else {
            $(".select").text("+");
        }
        return false;
    });
});

我认为正确的课程为select,因为您使用的课​​程超过Select