2014-09-23 3 views
0

변수가 2인지 확인하기 위해 if 문을 만들려고했습니다.하지만 시도 할 때마다 else 문이 생깁니다. 여기 내 자바 스크립트입니다 :JavaScript를 사용하여 if 문에서 변수를 숫자와 비교하는 방법은 무엇입니까?

$(document).ready(function() { 
    $('#test').html(2); 
    var antkeepere = document.getElementById('test'); 

    if(antkeepere==2){ 
     $('#mer').html('Ja!') 
    } 
    else{ 
     $('#mer').html('Nei!') 
    }; 
}); 

먼저 내 HTML에 2를 썼다, 그러나 그것은 작동하지 않았다. 그런 다음 예제를 통해 js를 통해 2로 만들려고했으나 작동하지 않았습니다. 나는이 같은 다른 스레드를 통해 검색 및 시도했지만. ifValue 모두에서 문을 variabel 만들 때,하지만 그들 중 누구도 일한.

+0

'DOM'개체를 숫자와 비교합니다. 그들은 – Catalin

+0

과 다르다. document.getElementById()는 id가 아닌 그 내용을 가진 문서에서 나에게 요소를 준다. 따라서 요소를 2와 비교하고 있습니다. 내용을 가져와 비교하십시오 –

답변

3

document.getElementById()은 내용이 아닌 DOM 요소를 반환합니다. HTML 내용을 얻으려면 .innerHTML 속성을 사용해야합니다. 숫자로 변환하려면 parseInt()을 사용해야합니다. 당신이 jQuery를 사용하고 있기 때문에

var antkeepere = parseInt(document.getElementById('test').innerHTML, 10); 

, 그 막대기 수 있습니다

var antkeepere = parseInt($("#test").html()); 
0

document.getElementById('test'); 때문에 반환는 DOM 객체를.

$(document).ready(function() { 
    $('#test').html(2); 
    var antkeepere =$('test').html(); 

    if(parseInt(antkeepere) == 2){ 
     $('#mer').html('Ja!') 
    } 
    else{ 
     $('#mer').html('Nei!') 
    }; 
}); 

당신 .html로 $('#test').html(2); 사용하여 2 퍼팅 때문에 당신은 또한에 액세스 할 수 있습니다 당신은 jQuery를이 같이 할이

var antkeepere = $("#test").val(); 
+0

그는 Java Script를 사용하여 jQuery 솔루션을 제공했습니다. –

+0

@ShoaibChikate OP는 jQuery도 사용하고 있습니다. – Scimonster

+0

그는'$ ('# test') .html (2);'를 사용했습니다. – worldask

0

시도하는 동일한 기능 .html()를 사용하지만 인수없이 .

antkeepere 변수를 2로 비교하면 구문 분석이 필요하므로 .html이 문자열을 반환하기 때문에 변수를 숫자로 변환합니다. 당신이해야 할 이유 그래서 즉 if(parseInt(antkeepere) == 2)

당신이 문자열을 비교하려고하는 당신은 당신이 단순히이 if(antkeepere == 'aaab')

0

처음처럼 갈 수 parseInt 할 필요가없는 경우, 당신의 HTML을 검색하지 않는이 #test하지만 전체 요소. 둘째, html 값이 이고 값이 2 인인지 확인하려면 html 값을 Number으로 변환해야합니다. 간단한 코드 조정 : 코드 아래

$(document).ready(function() { 
    $('#test').html(2); 
    var antkeepere = Number(document.getElementById('test').html()); 

    if(antkeepere === 2){ 
     $('#mer').html('Ja!') 
    } 
    else{ 
     $('#mer').html('Nei!') 
    }; 
}); 
0

시도

//As I understand test is div or span not input type objects. if it is input type element then use val() instead of html() 

$(document).ready(function() { 
     $('#test').html(2); 
    var antkeepere = document.getElementById('test'); 
    // use can also use parseInt($('#test').html()) 
    if(parseInt(antkeepere.innerHTML)==2){ 
     $('#mer').html('Ja!') 
    } 
    else{ 
     $('#mer').html('Nei!') 
    }; 
}); 
0

이 답변의 대부분은 위의 꽤 좋은,하지만 당신은 이미 jQuery를로드 한으로보고, 당신은뿐만 아니라 그것을 사용할 수있다 (당신 돈 필요 없어. document.getElement ...).

$(document).ready(function() { 
    $('#test').text(2); // Using text() instead of html() just means you can write stuff like "&", instead of "&" 
    var antkeepere = parseFloat($('#test').text()); // parseFloat ensures the contents of test is converted to a number. 

    if(antkeepere == 2){ 
     $('#mer').text('Ja!') 
    } 
    else{ 
     $('#mer').text('Nei!') 
    }; 
}); 
관련 문제