jquery兄弟标签_jQuery----获取兄弟元素的方法

① $(this).next();        获取的是当前元素的下一个兄弟元素

②$(this).nextAll();       获取的是当前元素的后面的所有的兄弟元素

③$(this).prev();           获取的是当前元素的前一个兄弟元素

④$(this).prevAll();       获取的是当前元素的前面的所有的兄弟元素

⑤$(this).siblings();      获取的是当前元素的所有的兄弟元素(自己除外)

案例练习:

需求分析:鼠标进入文字,当前文字背景变红色,当点击时候,当前文字前面文字背景颜色变为黄色,后面文字背景颜色变为蓝色,当鼠标移出时,所有背景颜色取消

效果:

代码如下:

1

2

3

4

5

Title

6

7 ul {8 list-style-type: none;9 width: 200px;10 margin: 100px auto;11 }12

13 ul li {14 margin-top: 10px;15 cursor: pointer;16 text-align: center;17 font-size: 20px;18 }19

20

21

22 //获取ul中所有的li,有鼠标进入事件,鼠标离开事件,点击事件

23 //$(function () {

24 获取ul->li

25 //$("ul>li").mouseenter(function () {

26 //$(this).css("backgroundColor","red").siblings().css("backgroundColor","");

27 //}).mouseleave(function () {

28 //$(this).css("backgroundColor","").siblings().css("backgroundColor","");

29 //}).click(function () {

30 当前元素前面的所有兄弟元素背景颜色为黄色

31 $(this).prevAll().css("backgroundColor","yellow");

32 当前元素后面的所有兄弟元素背景颜色为蓝色

33 $(this).nextAll().css("backgroundColor","blue");

34 //

35 链式编程代码

36 断链:对象调用方法,返回的不是当前的对象,再调用方法,调用不了,

37 解决断链--->恢复到断链之前的一个效果--修复断链

38 .end()方法恢复到断链之前的效果

39 //$(this).prevAll().css("backgroundColor","yellow").end().nextAll().css("backgroundColor","blue");

40 //});

41 //});

42

43 $(function(){44 //链式编程 鼠标进入--鼠标点击--鼠标移出

45 //$("ul>li").mouseover().click().mouseout();

46 $("ul>li").mouseover(function(){47 $(this).css("backgroundColor","red").siblings("li").css("backgroundColor","");48 }).click(function(){49 $(this).prevAll().css("backgroundColor","yellow");50 $(this).nextAll().css("backgroundColor","blue");51 }).mouseout(function(){52 $("ul>li").css("backgroundColor","");53 });54 });55

56

57

58

59

青岛啤酒(TsingTao)

60

瓦伦丁(Wurenbacher)

61

雪花(SNOW)

62

奥丁格教士(Franziskaner)

63

科罗娜喜力柏龙(Paulaner)

64

嘉士伯Kaiserdom

65

罗斯福(Rochefort)

66

粉象(Delirium)

67

爱士堡(Eichbaum)

68

哈尔滨牌蓝带

69

70

71

72

注意: 上述代码第49、50行可以压缩成一行,这样就引入了一个新的方法

end();作用是恢复短链。

原来两行代码:

$(this).prevAll().css("backgroundColor","yellow");

$(this).nextAll().css("backgroundColor","blue");

修改后代码:

$(this).prevAll().css("backgroundColor","yellow").end().nextAll().css("backgroundColor","blue");

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值