2013-03-14 5 views
3

나는 포럼을 검색하고 클릭시 텍스트를 동적으로 변경하는 것에 대한 게시물을 보았습니다. 하지만 제 경우에는 처음부터 페이지를로드 할 때 동적으로 디스플레이를 변경하고 싶습니다. 나는 이미 내가 표시해야하는지 파악하는 기능이 있습니다동적으로 div에 텍스트를 표시하는 방법

function phone() 
{ 
//code here 
return phone; 
} 

을 그리고 내 질문은 아래의 1.888.888.8888 부품을 교체하기 위해 사업부에서 반환 된 전화 번호를 표시하는 방법입니다. 누구나 통찰력을 제공 할 수 있습니까? 고맙습니다!

<div class="add-info"> 
<span class="rightfloat">Order online <span class="red">or call 1.888.888.8888</span></span> 
</div> 

답변

8

(스크롤을 줄이기 위해 별도의 라인에 그것을 분쇄) 나는 전화 번호 주위에 다른 <span> 태그를 추가하고 쉽게 액세스하기 위해 그 범위 태그에게 id 속성을 제공하기 위해 HTML을 변경합니다 :

<div class="add-info"> 
    <span class="rightfloat"> 
     Order online <span class="red"> 
      or call <span id="contact-number"></span> 
     </span> 
    </span> 
</div> 

다음 페이지가로드 한 후 원하는 값으로 span를 업데이트 JQuery와에

window.onload = function() { 
    document.getElementById('contact-number').innerHTML = PHONE_NUMBER_VALUE; 
} 

, 그것은 승 수 울드 :

$(document).ready(function() { 
    $('#contact-number').html(PHONE_NUMBER_VALUE); 
}); 
+0

Talemyn에게 감사드립니다.하지만 "페이지가로드 된 후에"무엇을 의미하는지 확신 할 수 없습니다. 사용자가 처음 페이지를 볼 때 번호를 표시하고 싶습니다. 페이지가로드 된 후 미안합니다. 바보 같은 질문 인 경우 미안 ... 전 js를 처음 접했습니다. – walkman

+0

JS가 작업하기 전에 페이지로드가 끝나야하고 DOM 구조가 완료되어야합니다. 이것은 정말로 빠르다. 처음에는 숫자가로드 된 것처럼 보일 것이다. 이것이 문제가 될 수있는 유일한 방법은 무언가가 페이지로드를 너무 느리게하는 경우 일 것이다. 페이지의 나머지 부분이로드되기 전에이 섹션이 보일 것입니다. 걱정이된다면, 디폴트로'add-info' 섹션 (또는 전체' ')을 숨긴 다음, 번호를 업데이트 한 후 바로 숨기기를 해제 할 수 있습니다. – talemyn

0

window.onload 이벤트의 코드를 호출하십시오. 대신 '전화'를 반환

나는 자신의 ID로 추가 <span> 태그에 수를 분리 JS와 그것의 내용을 변경할 것
0

...

document.getElementById('id_of_span').innerText = 'new number'; 
+0

'innerText'는 firefox와 호환되지 않습니다.'innerHTML'는 괜찮을 것입니다. 감사합니다, Alex! – ocanal

2

, 왜에 ID를 넣지 마십시오 너의 범위 그리고 그냥 document.getElementById('spanId').innerHTML = phone 귀하의 자바 스크립트에 사용합니까?

4
당신이 할 수있는

,

<body onload="phone();"> 
    <div class="add-info"> 
     <span class="rightfloat">Order online <span class="red">or call 
      <span id="phone"></span> 
     </span> 
    </div> 
</body> 

그리고 함수가 실행될 때 값을 설정;

function phone() { 
    document.getElementById("phone").innerHTML = "1.888.888.8888"; 
} 
+0

onload = "phone()"이 여기에서하는 일에 대해 몇 마디 더 말할 수 있습니까? 난 그냥 사용자가 그것을보고 즉시 어떤 지연없이, 페이지에 올바른 전화 번호를 표시하고 싶습니다. – walkman

+0

본문이로드 될 때 (즉 HTML을 모두 사용할 수 있음) 발생하는 이벤트로, 브라우저가 존재하기 전에 요소를 조작하지 않도록합니다. –

+0

본문에 div가 많이 있습니다. 을 전체 본문에 추가합니까? 그것이 전화()를 필요로하지 않는 다른 div에 영향을 주는지 모르겠다 ... – walkman

0

당신이 클릭,로드 또는 다른 것을 사용할 수 있습니다를 호출하려면이

<script> 
    function phone(number) { 
     var redText = document.getElementByClassname("red")[0]; 
     redText.innerHTML = "or call " + number; 
    } 
</script> 

을보십시오. 예를 들어

<script> 
    window.onload = phone('NEW NUMBER HERE'); 
</script> 

곰 당신이 그것에 추가하거나 이중 위임 기능을 이용해야 하나,하지만 그건 또 다른 이야기 그래서 나중에 다른 윈도우 온로드 기능을 추가하는 것은,이 일을 대체 할 마음 만 더 ...

관련 문제