在 jQuery 中,假设我们有两种方式来浏览 DOM 元素;
- 通过使用 CSS 冒号选择器(例如
var x = $("#someElement:after")
) - 通过 jQuery 函数(例如
var x = $("#someElement").prev()
)
现在我的问题是:
- 这两种情况的返回类型是否相同?
- 在 DOM 中导航有什么区别 方法?
- 我们可以对这两个结果应用相同的 jQuery 函数吗
声明?例如。
x.css("someProp","someVal")
最佳答案
:after
是 CSS 伪元素,jQuery 不支持。 jQuery 选择器的文档在这里:http://api.jquery.com/category/selectors/
我猜您正在寻找的等效项是同级选择器:+
:
// select whatever element comes after #someElement
var x = $("#someElement + *");
因此,一般来说,如果您在 jQuery 查询中使用标准 CSS 选择器,那么 jQuery 可能会将搜索移交给浏览器(如果支持)。如果你使用 jQuery 函数,那么这些快捷方式就无法完成。我的一般经验法则是尽可能使用 CSS 选择器,除非它会损害可读性。
无论使用何种方法查找元素,返回结果都是完全相同的。
关于jQuery 和 CSS 冒号选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7038686/