求解一下siblings()的使用方法

2025-04-28 05:01:21
推荐回答(3个)
回答1:

siblings()方法

实例
查找每个 p 元素的所有类名为 "selected" 的所有同胞元素:
$("p").siblings(".selected")

定义和用法

siblings() 获得匹配集合中每个元素的同胞,通过选择器进行筛选是可选的。

语法
.siblings(selector)

参数 selector
描述 字符串值,包含用于匹配元素的选择器表达式。

详细说明
如果给定一个表示 DOM 元素集合的 jQuery 对象,.siblings() 方法允许我们在 DOM 树中搜索这些元素的同胞元素,并用匹配元素构造一个新的 jQuery 对象。
该方法接受可选的选择器表达式,与我们向 $() 函数中传递的参数类型相同。如果应用这个选择器,则将通过检测元素是否匹配该选择器对元素进行筛选。
请思考这个带有基本的嵌套列表的页面:


  • list item 1

  • list item 2

  • list item 3

  • list item 4

  • list item 5



如果我们从第三个项目开始,则可找到该元素的同胞元素:
$('li.third-item').siblings().css('background-color', 'red');

此处调用的结果是将项目 1、2、4 和 5 的背景设置为红色。 设置为红色背景。由于我们未应用选择器表达式,所有同胞元素很自然地成为了对象的一部分。如果已应用选择器,则只会包含四个列表中的匹配的项目。
原始元素不包含在同胞元素中,当我们打算找到 DOM 树的特定层级上的所有元素时,记住一点很重要。

回答2:

$(this).find(".box1").show();
$(this).siblings("li").find(".box1").hide();

回答3:

虽然找到了解决方案,但我还是想解释下.....我认为这里siblings指代不明,它指代的不是$(this),而是$(this).find(".box1");应该重新定位到上次操作的元素slibings()前加.end();如果这个行不通就只能是分开写了。像你采纳的那个 一样!