jquery 如何使class=header的所有div的color设为red

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jquery 如何使class=header的所有div的color设为red相关的知识,希望对你有一定的参考价值。

$(function()
//$(".header").attr("style","color:red");
//$(".header").css("color","red")

$("div").each(function()
if($(this).attr("class")=="header")
$(this).attr("style","color:red");

);
);
//上面注释掉的两种都可以,第二钟可能有浏览器兼容性问题,第三种最符合你的问题(只把div中class=header的color设置为red),比如
<p class="header">222</p>则不会变色。
参考技术A 直接用CSS好了
.header *color:red
.header acolor:red;text-decoration:none
.header a:hovercolor:red;text-decoration:underline
参考技术B $(".header").css("color","red")

如何使 jQuery 自动完成列表显示所有选项 onfocus 并在选择选项后隐藏?

【中文标题】如何使 jQuery 自动完成列表显示所有选项 onfocus 并在选择选项后隐藏?【英文标题】:How to make jQuery autocomplete list display all options onfocus and hide after option is selected? 【发布时间】:2012-01-02 15:28:03 【问题描述】:

我有一个带有自动完成功能的表单,它启动搜索“onfocus”并在用户点击搜索字段时显示选项列表,即使他们没有输入任何内容。

问题是自动完成需要使用键盘选择选项(向下箭头后跟制表符/返回或双击)。我的第一个想法是单击一下会使焦点保留在搜索字段中,因此自动完成功能保持可见。但是,第二次单击后搜索字段仍保持焦点,但第二次单击后自动完成消失。

有什么想法吗?

<script>
$(document).ready(function() 

    var autocomplete_focus = function()           
        if ($(this).val().length == 0) 
            $(this).autocomplete("search", "%");
        
       

    $( ".autocomplete" ).autocomplete(
            source: "../../db/autocomplete_list.php",
            minLength: 0
    );

    $( ".autocomplete" ).focus(autocomplete_focus);

);
</script>

我知道similar question 之前已经在这里发布过;但是,建议的解决方案对我不起作用。

【问题讨论】:

你看到问题here了吗? 是的,这似乎有效;但是,由于某种原因,问题似乎只发生在远程源上。 啊,好的。我会做更多的挖掘。 谢谢!请参阅下面亚历克斯的回答。那也是我得到的最接近的;然而,并不完美! 【参考方案1】:

这个方法:

$( ".autocomplete" ).autocomplete(
        source: "../../db/autocomplete_list.php",
        minLength: 0
).focus(function()            
        $(this).trigger('keydown.autocomplete');
);

为我工作。

来源:

Display jquery ui auto-complete list on focus event

【讨论】:

这是我找到的最好的解决方案;但是,这只显示“第一个”焦点上的所有值。当我在页面加载后专注于搜索字段时,它会显示所有值。但是,如果我然后单击搜索字段(移除焦点),然后再次单击它,它不会再次拉出完整列表。【参考方案2】:

不确定这是否是一个可接受的解决方案,但一种方法是使用焦点值填充input。这可以防止菜单显示两次:

/* snip: */
focus: function (event, ui) 
    this.value = ui.item.value;
,

这是一个例子: http://jsfiddle.net/wxQf7/

尝试删除focus 事件处理程序以查看问题中的症状。

【讨论】:

美丽的解决方案...你是最棒的! :) 谢谢!! @Michael:没问题!乐意效劳。这实际上应该在小部件本身中修复。【参考方案3】:

试试这个。 这段代码实际上删除了有问题的 keydown.autocomplete。相反,它会在您每次关注文本字段时进行搜索。

$( ".autocomplete" ).autocomplete(
    source: "../../db/autocomplete_list.php",
    minLength: 0
).focus(function() 
    $(this).data("autocomplete").search($(this).val());

但是,如果您希望下拉菜单在您选择条目后立即消失,请添加此行

$( ".autocomplete" ).autocomplete(
    source: "../../db/autocomplete_list.php",
    minLength: 0
).focus(function()

    **if ($(this).autocomplete("widget").is(":visible"))
       return;**
    $(this).data("autocomplete").search($(this).val());

当控件在鼠标点击的情况下接收到焦点时,如果下拉列表已经显示,它不会执行 display-all-on-focus。这就是这段代码的作用

【讨论】:

以上是关于jquery 如何使class=header的所有div的color设为red的主要内容,如果未能解决你的问题,请参考以下文章

ajax刷新后如何使jquery选择器保持活动状态

jquery选择器

如何使这个 jquery 在 iOS 5.1 的 UIWebView 中工作?

如何使 jQuery 自动完成列表显示所有选项 onfocus 并在选择选项后隐藏?

使 jQuery 动态字段独一无二

使用 jQuery 检查所有 div 是不是被隐藏