问答详情
源自:2-8 jQuery选择器之内容筛选选择器

关于jq添加双引号

求问,为什么$(".div:(span)").css(.......)里has要查找的是元素对象,而span不是应该写成"span"才是元素对象么?到底在jq里面双引号应该怎么加啊?好迷惘~~~

提问者:新司机的方向盘 2017-02-13 10:38

个回答

  • 不知不觉后知后觉嗯
    2017-02-14 14:19:03

    因为$()这个函数需要传入的参数是字符串,所以你要用引号引起来。比如

            $("div").css(...);

    就等同于下面的写法:

            var str="div"; //赋值一个字符串给变量str

            $(str).css(...); //这个地方的str变量就表示一个字符串,

  • 不知不觉后知后觉嗯
    2017-02-14 13:22:57

    一个html标签就是一个html元素对象,不需要加引号。

    在 HTML DOM 中, 元素对象代表着一个 HTML 元素。html元素就是我们所说的标签。

    $(".div:has(span)").css("color", "blue"); //:has()查找包含span元素的div元素

    $(".div:contains(':contains')").css("color", "#CD00CD"); //:contains('':contains'')查找的是包含文本内容:contains的div元素,因为它是文本内容字符串,所以要引起来。

  • 新司机的方向盘
    2017-02-13 11:28:27

    左侧的看了,但是这样就是死记硬背了。我更想知道语法的逻辑。而不是这里不用加双引号。。。。。

  • 学习js
    2017-02-13 11:26:43

    $(":has(selector)") 选择包含指定元素的元素
    左侧内容过滤器的表好好看看