gpt4 book ai didi

javascript - jQuery closest 函数的原型(prototype)等价物

转载 作者:可可西里 更新时间:2023-11-01 01:16:30 25 4
gpt4 key购买 nike

对于 jQuery closest 函数,Prototype 中是否有任何等价物?

http://api.jquery.com/closest/

谢谢

最佳答案

您可以使用 up方法。它并不完全等价,因为 closest 也考虑了当前元素。所以你需要先测试你选择的元素,看看它是否符合你的标准,如果不符合,使用 up-method:

jQuery:
return $('#id').closest('li');

Prototype:
var element = $('id')
return element.match('li') ? element : element.up('li');
}

比较:

.closest()

  • 以当前元素开始
  • 遍历 DOM 树,直到找到与提供的选择器匹配的项
  • 返回一个包含零个或一个元素的 jQuery 对象

.up()

  • 从父元素开始
  • 遍历 DOM 树,直到找到与提供的选择器匹配的项
  • 返回一个扩展的 Element 对象,如果不匹配则返回 undefined

您可以轻松地扩展 Prototype 以将此方法包含在所有元素中,如下所示:

// Adds a closest-method (equivalent to the jQuery method) to all 
// extended Prototype DOM elements
Element.addMethods({
closest: function closest (element, cssRule) {
var $element = $(element);
// Return if we don't find an element to work with.
if(!$element) {
return;
}
return $element.match(cssRule) ? $element : $element.up(cssRule);
}
});

关于javascript - jQuery closest 函数的原型(prototype)等价物,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2366367/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com