如何用jQuery查找指定元素之后首个拥有delivery-price类的元素?
解决方案
没问题,结合你给出的限制条件,咱们可以用jQuery的兄弟元素方法精准定位到目标元素,这里给你两种适配不同场景的写法:
场景1:目标是当前元素之后的首个同级(不管是否紧挨着)
如果当前元素和目标元素之间可能有其他同级元素,但你只需要第一个出现的delivery-price,可以这么写:
// 假设你的已保存jQuery对象存在变量$deliveryMethod中 const $targetPrice = $deliveryMethod.nextAll('.delivery-price').first();
nextAll('.delivery-price'):获取当前元素之后所有同级中带有delivery-price类的元素.first():从匹配结果里取第一个,正好满足你“首个”的需求
场景2:目标是当前元素紧挨着的下一个同级
根据你补充的限制条件——「目标delivery-price类元素始终是已保存元素的直接同级元素」,如果这里的“直接同级”指的是紧挨着相邻的下一个兄弟元素,那用更高效的写法:
const $targetPrice = $deliveryMethod.next('.delivery-price');
next('.delivery-price'):只检查当前元素的下一个直接同级元素,如果匹配类名就返回它,性能更优
额外说明
因为你明确提到delivery-price绝不会在已保存的jQuery对象内部,所以完全不用考虑.find()这类查找子元素的方法,专注于兄弟元素的查找即可,上述两种写法都能精准命中目标。
内容的提问来源于stack exchange,提问作者user1283776
相关产品推荐
相关产品推荐

