[英]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.