2012-02-04 2 views
0

Я пытаюсь сделать так, что, когда я что-то ввожу в свой текстовый ящик, поле textarea становится черным, а мой div, который содержит заголовок для коробки, также становится черным. но если в поле ничего не введено, или что-то введено, то стертые оба эти элемента будут серыми. Как вы можете видеть, я не попытался обратиться к черному текстуру вообще. Благодаря.click function textarea jQuery изменение CSS

Мой JQuery

$('#message_input') 
    .click(function() { 
    var text = $(this).val; 
     if(text == 'add additional information here!') { 

      $('#message_title').css('color','#666'); 
      } else { 
       $('#message_title').css('color','#000'); 
      } 

    }); 

Мой HTML

<div id="message_title">Message</div> 

<textarea name="message" id="message_input" rows="4" cols="21" maxlength="200" 
      onfocus="if(this.value=='Add additional information here!') 
      {this.value='';this.style.color='#000';}" 
      onblur="if(this.value=='') { 
      this.value='Add additional information about the fruit here!';this.style.color='#999';}" 
      >Add additional information here!</textarea> 

ответ

2

Это ссылка на функцию val:

$(this).val; 

Это выход из функции

$(this).val(); 

Убедитесь, что вы используете правильный (99% всех случаев используют последний).

+0

lol, который зафиксировал деталь, сделав заголовок цветным. теперь, как я могу обратиться к самому блоку textarea? – noWayhome

1

Вы используете неправильный css здесь. Вместо использования color используйте background. Demo

Кроме того, возможно, вы должны изменить свой метод .click на .change. Потому что textarea становится черным, хотя я не ввел в него никакого текста. Demo 2

Cheers. : D