jquery - 无法选择 SPAN 同级

标签 jquery css-selectors siblings

无法理解为什么此代码将 DIV 元素的颜色更改为蓝色,但不更改 SPAN 元素的颜色。有什么想法吗?

<html>
<head>
  <script src="http://code.jquery.com/jquery-latest.js"></script>
  <script>
    $(document).ready(function(){
      $("#prev ~ div").css("color", "blue");
      $("#prev ~ span").css("color", "red");
    });
  </script>
</head>
<body>
  <span id="prev">span#prev</span>
  <div>div sibling</div>
  <span>span sibling</span>
</body>
</html>

注意到如果我更换会怎样

<span id="prev">span#prev</span>

<p id="prev">span#prev</p>

DIV 和 SPAN 都会更改文本颜色。

谢谢!

最佳答案

看来您发现了一个错误。

$("#prev ~ span:not(#prev)") 有效,$("#prev").siblings("span") 也有效。

关于jquery - 无法选择 SPAN 同级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/793687/

相关文章:

javascript - 如何在淡入后立即重复显示当前时间?

javascript - 如何在CasperJS中填充没有id和名称的div中的输入字段

javascript - 访问 SVG 节点的属性

javascript - dForm 插件添加时间选择器小部件

javascript - jQuery 输入值焦点和模糊

Javascript/Jquery 链接更改表单下拉列表

css - 如何使用CSS根据页面中另一个元素的状态选择一个元素?

html - Css 第 n 个 child :hover ~ first-child {. ..}

css - 在CSS中,如何获取元素的所有同级元素

css: 许多兄弟选择器在同一行