2014-01-16 13 views
0

我正在學習JavaScript和測試東西。我製作了一個需要一些html代碼並打印出結果的文本區域。它工作正常,但我希望每當一個標籤輸入像<h1>時,顏色應該從白色變爲紅色。這是我的代碼不這樣做,請幫我修復它..在旅途中設置文本的顏色

代碼:

<script> 
    $("#_co").on("input propertychange", function(){ 
     $("#out").html($("#_co").val()); 
     var text = jQuery("#_co").val(); 
     if (text.contains("<")){ 
      text.css('color','red'); 
     } 
    }); </script> 
+0

您可以更改textarea中所有文本的顏色,但不能更改顏色只是文本的一部分。 – adeneo

+0

呵呵,我知道,你在textarea下面有一些常規的HTML,就像堆棧溢出一樣,你想改變標籤的顏色。你應該做的是看看語法熒光筆,有很多可用的JavaScript,他們大多工作很好。 – adeneo

+0

看看http://codemirror.net/ –

回答

0

類似下面這一個?

Fiddle

$("#dummy").blur(function(){ 
    var color = $(this).val()=='' ? 'red' : 'white'; 
    $(this).css('background-color', color); 
}); 
1

有沒有直接的方法來達到同樣的,但這將幫助您解決

jsfiddle

請看看

function divClicked() { 
var divHtml = $(this).html(); 
var editableText = $("<textarea />"); 
editableText.val(divHtml); 
$(this).replaceWith(editableText); 
editableText.focus(); 
// setup the blur event for this new textarea 
editableText.blur(editableTextBlurred); 
} 

function editableTextBlurred() { 
var html = $(this).val(); 
var viewableText = $("<div>"); 
viewableText.html(html); 
$(this).replaceWith(viewableText); 
// setup the click event for this new div 
viewableText.click(divClicked); 
} 

$(document).ready(function() { 
$("div.div").click(divClicked); 
});