为了账号安全,请及时绑定邮箱和手机立即绑定

您好,想求解一下siblings()的使用方法,有没有了解的?

您好,想求解一下siblings()的使用方法,有没有了解的?

交互式爱情 2022-01-12 18:11:32
.ctrl li里边都有一个box1(默认隐藏),点击某一个li则显示里面的box1,同时将其它li里边的box1隐藏起来,我是这样写的:$(this).find(".box1").show().siblings().hide();这句话应该没错呀,为何会无效的呢?
查看完整描述

3 回答

?
PIPIONE

TA贡献1829条经验 获得超9个赞

siblings()方法

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

定义和用法

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

语法
.siblings(selector)

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

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

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

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



查看完整回答
反对 回复 2022-01-16
?
噜噜哒

TA贡献1784条经验 获得超7个赞

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

查看完整回答
反对 回复 2022-01-16
?
眼眸繁星

TA贡献1873条经验 获得超9个赞

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

查看完整回答
反对 回复 2022-01-16
  • 3 回答
  • 0 关注
  • 211 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信