3

我正在尝试改变div带有字母的颜色s

<div class="search_container">
    <input type="text" class="search_field" placeholder="Search..." />
    <div id="magnify_glass">s</div>
</div>

我试过的是这个

<script>
    $('.search_field').focus(function() {
        $('#magnify_glass').css('color','#ff0000');
    });
</script>
4

2 回答 2

5

假设您的代码在<head>文档中,您只需要一个文档就绪处理程序。试试这个:

更新

要删除颜色,您还需要添加一个blur处理程序。

<script>
    $(function() {
        $('.search_field').focus(function() {
            $('#magnify_glass').css('color','#ff0000');
        }).blur(function() {
            $('#magnify_glass').css('color','transparent'); // or whatever the default is.
        });
    });
</script>

此外,最好使用 aclass为元素添加样式,因为它可以更好地分离关注点:

.focus { color: #F00; }
$('.search_field').focus(function() {
    $('#magnify_glass').addClass('focus');
}).blur(function() {
    $('#magnify_glass').removeClass('focus');
});
于 2013-01-18T15:50:39.367 回答
2

您的代码很好并且工作您需要确保您在document.ready中有代码,以确保在脚本访问之前元素可用性并且您添加了 jquery 库。

现场演示

$('.search_field').focus(function () {
    $('#magnify_glass').css('color', '#ff0000');
}).blur(function() {
    $('#magnify_glass').css('color', '#000000');
})
于 2013-01-18T15:52:21.710 回答