簡體   English   中英

在javascript中比較變量

[英]comparing variable in javascript

我身陷困境。 我一直在嘗試比較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!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM