代码之家  ›  专栏  ›  技术社区  ›  Neil N HLGEM

如何在jquery中使用多个选择器?

  •  2
  • Neil N HLGEM  · 技术社区  · 17 年前

    我使用以下代码将悬停效果应用于一个名为工具栏的DIV中的一组图像:

    $("#toolbar img").hover(
        function()
        {
            this.src = this.src.replace("_off", "_on");
        },
        function()
        {
            this.src = this.src.replace("_on", "_off");
        }
    );
    

    但我也希望在不重复相同代码的情况下,对一个名为tabs的DIV应用相同的效果。我不能这样做吗?

    $("#toolbar, #tabs img").hover(
        function()
        {
            this.src = this.src.replace("_off", "_on");
        },
        function()
        {
            this.src = this.src.replace("_on", "_off");
        }
    );
    

    上面的问题只适用于“tabs”部分,而工具栏停止工作。我想我只是把jquery语法搞错了,还是对jquery有点陌生

    3 回复  |  直到 16 年前
        1
  •  5
  •   geofflane    17 年前

    用逗号分隔多个选择器。如果您想重新创建第一个示例中的效果,则需要:

    $("#toolbar img, #tabs img")
    

    “工具栏img”是整个选择器。它说“将此应用于工具栏ID为的父元素中的任何img标记”。例如。:

    <div id ="toolbar">
       <img .../>
       <img .../>
    </div>
    

    #标签img,是一个完整的其他选择器。

    这些与CSS选择器的语法相同,因此要了解更多信息,请参阅。

        2
  •  1
  •   SLaks    17 年前

    尝试 $("#toolbar img, #tabs img") .

        3
  •  1
  •   Thinker    17 年前

    不应该有“工具栏img”、“选项卡”而不是“工具栏”、“选项卡img”吗?