2014-04-07 1 views
0

메뉴가 있고 내가 원하는 것은'foo '라고 말한 텍스트로 특정 하위 메뉴 항목 위로 마우스를 가져 가면됩니다. 플라이 아웃 메뉴 항목을 만들고 싶습니다. 문제는 if 문을 사용하여 텍스트가 (==) 'foo'라고하면 텍스트가 작동하지 않는다는 것을 평가하는 것입니다. 그러나 indexOf ("foo")를 사용하면 작동합니다. jQuery에서 호버 이벤트 내에서 equals (==) 비교 연산자 작업을 수행하기 위해해야 ​​할 일이 있나요? 다음은 내가 성취하고자하는 것을 개략적으로 설명하는 몇 가지 샘플 코드입니다.jQuery에서 마우스를 올리면 ''같음 '비교 연산자가 계산되지 않습니다.

$(".static.dynamic-children:nth-child(1) li").hover(function() { 
    var textValue = $(this).text(); 

    //Doesn't work - if statement is never evaluated 
    if(textValue == "foo") 
    { 
     //Create flyout menu 
    } 

    //Works fine 
    if(textValue.indexOf("foo") > -1) 
    {   
     //Create flyout menu 
    } 
}); 

감사합니다. 매우 감사.

+0

같은 추가하기 전에 나는 필터링을하는 것이 좋습니다. –

답변

1

텍스트에있을 수있는 공백을 나타내는 문제가있는 것 같습니다. 비교하기 전에 텍스트 값을자를 수 있습니다.

var textValue = $(this).text().trim();//or $.trim($(this).text()) for IE < 9 support 

그러나 호버 핸들러는 내가 그 문제를 다시 할 수 없기 때문에이 작동하지 않는 바이올린을 만들 수

$(".static.dynamic-children:nth-child(1) li").filter(function() { 
    return $.trim($(this).text()) == 'foo'; 
}).hover(function() { 
    //Create flyout menu 
}); 
+0

고맙습니다. 이것은 매력처럼 작동했습니다! – Drexter

관련 문제