2014-09-09 3 views
0

배열에있는 특정 단어와 동일한 경우 사용자가 입력 한 문자열의 글꼴 색을 변경하고 싶은 기능이 있습니다. 지금까지 단계별로 설명하면 그것은 글꼴 색상을 변경하지만 실제로 화면에 그것을 업데이 트하지 않으며 나는 왜 그런지 모르겠다. 여기에 지금까지자바 스크립트가 텍스트 색상을 변경하지 않습니다

function getLastWord() { 
    var input = document.getElementById("my_text"); 
    //var input = document.getElementById(textArea.value); 
    //var lineIn = document.getElementById(my_text).innerHTML; 
    var inputValue = input.value; 
    var lastWordTyped 
    var changeColorOfWord; 

    if (input == null) { 
     input == " "; 
    } 

    //lastWordTyped = input.substr(input.trim().lastIndexOf(" ") + 1); 
    lastWordTyped = inputValue.substr(inputValue.trim().lastIndexOf(" ") + 1); 

    if (input != null) { 

     for (var i = 0; i < reservedKeyWords.length; i++) { 
      if (reservedKeyWords[i] === lastWordTyped) { 
       lastWordTyped = lastWordTyped.fontcolor("blue"); 
       my_text.replace(inputValue, lastWordTyped); 
      } else { 

      } 


     } 
    } 
} 
+0

입력 요소 내부의 텍스트 색상을 변경할 수 없으므로 콘텐츠 편집 가능 요소를 사용해야합니다. – Andre

답변

1

string.fontcolor이 유산이다, 그리고 난 당신이 font 태그를 추가하는 일,

기본적으로이 경우에는 실행 가능한 옵션으로 볼 수 있지만도 사용할 수 없습니다 것입니다 단어 주위 :

var txt = 'hello world'; 
txt = txt.fontcolor('blue'); 
//txt = '<font color="blue">hello world</font>'; 

당신은 당신이 결과로 무엇을 보여주지 않지만, 당신이 실제로 HTML 요소에 넣어 경우 대신 FONTCOLOR를 사용하여, 나는 오히려 element.style.color를 사용 했음에도 불구하고 그것은 작동합니다. 여전히 .fontcolor 방법 가고 싶은 경우

var ele = document.querySelector('#my_text'); 
ele.style.color = 'blue'; 
ele.innerHTML = lastWordTyped; 

, 당신은 단지 내가 함께 두 가지 문제를 참조

input.innerHTML = my_text; 
+0

정말 고마워요! 이것은 모든 단어를 파란색으로 만들었지 만, 마지막 단어를 확인한 후에 멈추지 않습니다. lol – bbesase

+0

마지막 옵션으로 간단한 해결책을 추가 한 것 같습니다. –

1

을 당신이 질문에 무엇을 유지하고 추가 할 수 있습니다하지만 이것은 약간 더 많은 작업이 필요 지금까지 코드.

  1. lastWordTyped에는 'fontcolor ("blue")'매개 변수가 사용됩니다. 색상을 변경하는 올바른 구문은 element.style.color="#CCC"입니다.

  2. 스팸함에 마지막으로 입력 한 단어를 감싸서 타겟팅하고 해당 단어에만 색을 적용해야합니다.

+0

사실, fontcolor는 실제로는 너무 오래 되어도 작동하는 함수입니다. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fontcolor –

+0

스팬 내에 어떻게 포장합니까? 나는 지금 일하는 색깔을 가지고있다. 그러나 지금 그것은 모든 단어를 푸른 lol로 만든다. – bbesase

관련 문제