jquery选择器

----资料来源于 W3C与网络

一. jQuery只有两种写法:
  1. $.abc()
  2. $('XXX').abc()
二. jQuery选择器
1. get()方法
jQuery对象自身提供一个.get() 方法允许我们直接访问jQuery对象中相关的DOM节点
get方法中提供一个元素的索引:
<div>元素1</div>
<div>元素2</div>
<script>
//我想取得div第一个节点变成红色
var $div = $('div');
var div = $div.get(0); //通过get方法,转化成DOM对象
div.style.color = ‘red’;
//原生js写法:
var div = $div[0] //转化成DOM对象
</script>
2. eq()

整数,指示元素的位置(最小为 0)。
如果是负数,则从集合中的最后一个元素往回计数。
注意:
eq返回的是一个jquery对象,可以继续调用其他方法
get返回的是一个html 对象数组返回的是jQuery对象,返回的是html数组不能调用jQuery的其他方法。

<div>元素1</div>
<div>元素2</div>
<script>
$('div').eq(0).css('color', 'red');
//这样元素1就变成了红色
</script>
3. next / .prev
  1. 第一种写法
    next取得匹配的元素集合中每一个元素紧邻的后面同辈元素的元素集合。如果提供一个选择器,那么只有紧跟着的兄弟元素满足选择器时,才会返回此元素。prev正好相反。
    prev获取指定元素的上一个同级元素,next获取指定元素的下一个同级元素
<ul>
    <li>list item 1</li>
    <li class="third-item">list item 2</li>
    <li>list item 3</li>
    <li>list item 4</li>
    <li>list item 5</li>
  </ul>
<script>
$('li.third-item').prev().css('background-color', 'red');//第一行背景变红
  $('li.third-item').next().css('background-color', 'red');//第三行背景变红
</script>
next,prev.png
  1. 第二种写法
    jQuery的next+prev 选择器用于匹配紧接在prev元素后面的同辈next元素。
    比如说$("div + p"),意思是所有紧接在div之后的p,即选中所有div后面紧跟p的p元素
<div>
        <p>你好</p> 
        <span>你不好</span>
        <div>很不好</div>
        <p>你好</p>
        <span>你不好</span>
    </div>
 <script>
        $('p + span').css('color', 'red');
    </script>
next,prev2.png
4. nextAll / .prevAll

nextAll获取指定元素后边的所有同级元素
prevAll获取指定元素前边的所有同级元素

<ul>
    <li>list item 0</li>
    <li>list item 1</li>
    <li>list item 2</li>
    <li class="third-item">list item 3</li>
    <li>list item 4</li>
    <li>list item 5</li>
    <li>list item 6</li>
  </ul>
<script>
        $('li.third-item').prevAll().css('background-color', 'red'); 
        $('li.third-item').nextAll().css('background-color', '#333');
    </script>
nextAll,prevAll.png
5. siblings

siblings() 方法返回被选元素的所有同级元素。

<ul>
        <li>list item 0</li>
        <li>list item 1</li>
        <li>list item 2</li>
        <li class="third-item">list item 3</li>
        <li>list item 4</li>
        <li>list item 5</li>
        <li>list item 6</li>
    </ul>
    <script>
        $('li.third-item ').siblings().css('background-color', 'red');
    </script>
siblings.png
6. parent / .parents

parent是指取得一个包含着所有匹配元素的唯一父元素的元素集合。
parent就是当前元素的父元素;parents则是当前元素的祖先元素。

<ul class="level-1">
        <li class="item-ii">II
            <ul class="level-2">
                <li class="item-a">A</li>
                <li class="item-b">B
                    <ul class="level-3">
                        <li class="item-1">1</li>
                        <li class="item-2">2</li>
                        <li class="item-3">3</li>
                    </ul>
                </li>
                <li class="item-c">C</li>
            </ul>
        </li>
        <li class="item-iii">III</li>
    </ul>
    <script>
        $('li.item-a').parent().css('background-color', 'red');
    </script>
parent.png

为 level-2 列表设置红色背景。由于我们未应用选择器表达式,父元素很自然地成为了对象的一部分。如果已应用选择器,则会在包含元素之前,检测元素是否匹配选择器。

parents则是取得一个包含着所有匹配元素的祖先元素的元素集合(不包含根元素)。可以通过一个可选的表达式进行筛选。
//按parent案例继续
<script>
        $('li.item-a').parents().css('background-color', '#333');
    </script>
parents.png
7. children / .find

children() 方法返回返回被选元素的所有直接子元素。

<ul>
        <li>1</li>
        <li>4</li>
        <li>5</li>
    </ul>
    <div>
        <p class="red">2</p>
        <p class="red">3</p>
        <span class="red">4</span>
    </div>
    <script>
        $('div').children('.red').css('background-color', 'red');
//匹配div中所有类名为red的子元素
    </script>
children.png
find() 方法获得当前元素集合中每个元素的后代,通过选择器、jQuery 对象或元素来筛选。
 <div>
        <p class="red">2343<span class="red">4</span>243432</p>
        <p class="red">3</p>
    </div>
    <script>
        $('p').find('span').css('background-color', 'red');//可以匹配多个span
    </script>
find.png
8. filter

可以筛选符合条件的对象,参数可以是选择器(类或ID)或者一个函数

     <div></div>
    <div class="red"></div>
    <div class="red"></div>
    <div></div>
    <script>
        $('div').css('background', '#333')
.filter('.red').css('border-color', 'red');
    </script>
filter.png
9. has

筛选匹配元素集合中有相匹配的选择器或DOM元素的后代元素

<ul>
        <li>list item 1</li>
        <li>list item 2
            <ul>
                <li>list item 2-a</li>
                <li>list item 2-b</li>
            </ul>
        </li>
        <li>list item 3</li>
        <li>list item 4</li>
    </ul>

    <script>
        $('li').has('ul').css('color', 'red');//查找li元素中的ul元素
    </script>
has.png
10. is

判断当前匹配的元素集合中的元素,是否为一个选择器,DOM元素,或者jQuery对象,如果这些元素至少一个匹配给定的参数,那么返回true

<form><input type="text" /></form>
    <div></div>
    <script>
        var isFormParent = $("input[type='text']").parent().is("form");
        $("div").text("isFormParent = " + isFormParent);
    </script>
is.png

以下整理篇:

  1. jQuery的DOM/函数
  2. jQuery事件与动画





资料来源于网络和W3C,文章如果有错误的地方希望可以指出,谢谢。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 160,387评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,845评论 1 298
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 110,091评论 0 246
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,308评论 0 214
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,662评论 3 288
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,795评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 32,008评论 2 315
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,743评论 0 204
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,466评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,687评论 2 249
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,181评论 1 262
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,531评论 3 258
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,177评论 3 239
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,126评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,902评论 0 198
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,862评论 2 283
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,734评论 2 274

推荐阅读更多精彩内容

  • 第一章 入门 基本功能:访问和操作 dom 元素,控制页面样式,对页面的事件处理,与ajax完美结合,有丰富的插件...
    X_Arts阅读 983评论 0 2
  • (续jQuery基础(1)) 第5章 DOM节点的复制与替换 (1)DOM拷贝clone() 克隆节点是DOM的常...
    凛0_0阅读 1,268评论 0 8
  • DOM创建节点及节点属性 通过JavaScript可以很方便的获取DOM节点,从而进行一系列的DOM操作。但实际上...
    阿r阿r阅读 987评论 0 9
  • 1:jQuery节点创建与属性的处理 创建元素节点:可以有几种方式,后面会慢慢接触。常见的就是直接把这个节点的结构...
    码农小杨阅读 569评论 0 1
  • 第1章 简介 第2章 DOM节点的创建 2-1 DOM创建节点及节点属性 通过JavaScript可以很方便的获...
    mo默22阅读 779评论 0 8