2010-12-16 67 views
1

我有一些只读输入。我只想让这些输入中的文本具有背景色。有没有办法用CSS/jQuery来完成这个工作?我已经试过:CSS/jQuery:仅用于输入文本的背景颜色

$('.show input').contents().css('background-color', '#F0444D'); 

$('.show input').children().css('background-color', '#F0444D'); 

但无论做了什么。

+1

无法访问“输入”中的文本对象,或者整个输入元素都获取背景颜色,或者什么都没有。 – 2010-12-16 22:12:40

+0

@ user460847“只是文本”是什么意思? – Phrogz 2010-12-16 22:16:38

回答

1

使用lynxforest的回答,您可以设置整个领域的某一颜色的背景。

我知道你只想让文字具有背景色,而不是整个字段。但这在INPUT字段中是不可能的。在另一种元素如DIV,你可以插入一个SPAN标签:

<DIV class="box"><SPAN>blabla</SPAN><DIV> 

但输入字段可以没有其他元素含量所以这招不起作用。

+0

谢谢,我会尝试使用div使它看起来像只读输入。当它让我时,我会接受你。 – user460847 2010-12-16 22:19:20

1

你试过了吗?

$('.show input').css('background-color', '#F0444D'); 
1

这将只设置背景颜色与发短信领域

 
$('input[type=text]').each(function() { 
    if ($(this).val().length == 0) $(this).css('background', '#CCC') 
}) 
+1

['$('input:text')'](http://api.jquery.com/text-selector/)获取更简洁的版本。 – 2010-12-16 22:16:39

+0

是的,你是对的,但这个版本也正常工作。 – Fatih 2010-12-16 22:18:31

+1

是的,我不打算批评,只是提供一个指示/建议少打字的方法是全部。对不起,如果我冒犯了你,那不是我的意图。 =) – 2010-12-16 22:21:11