나는 곤경에 처해있다. 나는 자바 스크립트에서 두 변수를 비교하고 일치하는 경우 상위 요소에 클래스를 할당하려고했습니다. 그러나 나는 이것에 성공하지 못하고있다. 가능한 모든 코드를 검색하여 시도했지만 작동시키지 못했습니다. 내가 지금까지 작성한 코드는 다음과 같습니다 : 내가 다른 기능을 사용하여 시도하고 작동으로 자바 스크립트 변수 비교
$('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');
}*/
});
});
내 지식에 따라, 값이있는 모든 경우 명령 내부 않을 것입니다. 나는 내가하고있는 바보 같은 실수를 확신한다. 나는 여기에서 2 가지 방법을 시도했으며, 하나에 대해 논평했지만 그들 중 어느 것이 맞아야 하는지를 알기 위해 여기 두 가지를 제시했다.
기본적으로 내 div # encased 요소의 이미지를 클릭하면 이미지의 클래스 이름이 찍히고 위의 필터 메뉴에있는 텍스트와 비교됩니다. 일치하는 필터 텍스트는 현재의 클래스에 할당되어야합니다. 당신이 내가 설명하려고 노력하고 있기를 바랍니다. 도와주세요. 감사
'경고 (클래스 명)'와 '경고 (filterValstr) 출력'? – gdoron
class_name 대신 className과 비교하면 안됩니까? –
@ UmairP. 'str.toString() == str'?! – gdoron