2012-11-20 4 views
0

여기에 약간의 문제가 있습니다.html에서 javascript로 float 매개 변수 전달

내가하려는 것은 html에서 자바 스크립트로 일부 매개 변수를 전달하는 것입니다. 여기에 코드입니다 :

HTML :

<div id="percentage">52.338</div> 

JAVASCRIPT :

var pctg = document.getElementById("percentage"); 
alert(pctg); 

하지만 잘 작동하지 않습니다. 그걸 고치는 법을 말해 줄 수 있니? 'parseFloat'과 몇 가지 관련 작업을 시도했지만 아직 해결하지 못했습니다 ... Thx 사전.

+0

'에서는 parseFloat ('52 .338 ') ===를 52.338 && 수 ('52 .338') === 52.338'. 콘텐츠를 얻기 위해 좋아하는 방법을하는 것을 잊고있는 것입니다. '.textContent','.innerText' 또는'.innerHTML'입니다. 또한 _id_는 고유해야 함을 기억하십시오. 이 작업을 여러 번하고 싶다면 끝 부분에 숫자를 넣으십시오. –

답변

4

찾고있는 것은 요소 자체가 아닌 요소의 텍스트 콘텐츠입니다. 일부 브라우저 (물론 이전의 IE는) 그래서 두 속성을 사용하는 것이 좋습니다 대신 textContentinnerText 사용

var elem = document.getElementById("percentage"); 
var text = elem.textContent || elem.innerText; 

당신이 실제로 대신 문자열의 숫자가 문자열에 parseFloat()를 사용합니다. 당신이 비록 data- 속성에 값을 저장하는 것이 더 좋습니다 수 있습니다 그것을 무엇을하고 있는지에 따라


. 그런 다음 요소의 텍스트 내용을 가져 오는 대신 처리하려면 .getAttribute('data-whatever')을 사용하면됩니다. jQuery를 사용하는 경우 이미 숫자를 반환하는 .data('whatever')을 사용할 수 있으므로 더 멋지게 될 것입니다. 최신 브라우저는 dataset 속성을 통해 데이터 속성에 대한 직접 액세스도 지원합니다. 오래된 브라우저에서 깨지기 때문에 이것을 사용하고 싶지는 않을 것입니다.

2

pctg에는 요소의 텍스트가 아니라 요소의 텍스트가 포함됩니다. 시도하십시오 alert(pctg.innerHTML).

부동 소수점이 필요한 경우 parseFloat(pctg.innerHTML)을 사용할 수 있습니다.

1

당신은 요소의 innerText와를 얻을 다음과 같이 값을 구문 분석 할 수 있습니다 :

var pctg = document.getElementById("percentage").innerText; 
var floatNumber = parseFloat(pctg);