比较 JavaScript 中的变量

comparing variable in javascript

本文关键字:变量 JavaScript 比较      更新时间:2023-09-26

我陷入困境。我一直在尝试比较 javascript 中的两个变量,然后在匹配的情况下将一个类分配给父元素。但我在这方面没有成功。我已经搜索了所有可能的代码并尝试了它们,但无法使其正常工作。到目前为止,我编写的代码如下:

$('div#encased a').click(function(){
        $('ul#filter .current').removeClass('current');
        var class_name = ($(this).parent().attr('class').replace('-',' '));
        var className = class_name.toString();
        alert(className);
        $('ul#filter li').each(function(){
            /*1st version
            var filterValue = $(this).text().toLowerCase();
            var filterValstr = filterValue.toString();
            alert(filterValstr);
            if(filterValstr==className)
            {
                alert("match!")
                $(this).parent().addClass('current');   
            }*/
            /*2nd version*/
            if($(this).text().toLowerCase() == class_name)
            {
                $(this).parent().addClass('current');   
            }
            /*this works which according to me means it is not entering the if clause
            else{
                $(this).parent().fadeOut('slow').addClass('hidden');    
            }*/
        });
    });

据我所知,当我尝试使用 else 函数并且有效时,该值根本不会在 if 命令内。我确信我正在犯一些愚蠢的错误。我在这里尝试了 2 种方法,并评论了其中一种,但在这里介绍了这两种方法,以了解其中是否有任何一种方法是正确的。

基本上,在我的div#encased元素中单击图像时,将获取图像的类名,然后与上面过滤器菜单中的文本进行比较。如果匹配,则应为匹配的筛选器文本分配当前类。希望你明白我想解释的。请帮忙。谢谢

你的代码不清楚,有点意大利面条,但也许你的问题出在空格上,试着修剪它们

var filterValue = $.trim($(this).text().toLowerCase());

你应该知道string.toString()返回字符串...
例:

var str = "bla bla bla";
alert(str.toString === str); // true!