如何在javascript中编写jquery “is”方法
How to write the jquery "is" method in javascript
我想知道如何仅使用javascript编写jQuery is方法?
您不能使用任何第三方库。只有浏览器提供的 JavaScript。
仅供参考,jQuery中is
的方法:
根据选择器检查当前匹配的元素集, 元素, 或 jQuery 对象,如果至少有一个元素返回 true 匹配给定的参数。
如果你需要支持较旧的浏览器,你应该使用 jQuery。这应该适用于IE9,Firefox和Chrome。
//returns true if element matches selector or if element is equal to the node passed as selector
function is( elem, selector ) {
var div = document.createElement("div");
var matchesSelector = div.webkitMatchesSelector || div.mozMatchesSelector || div.msMatchesSelector;
return typeof selector == "string" ? matchesSelector.call( elem, selector ) : selector === elem;
}
//returns true if any elements in the array/nodelist "is" selector
function anyIs( elems, selector ) {
var l = elems.length, i;
for( i = 0; i < l; ++i ) {
if( is( elems[i], selector ) ) {
return true;
}
}
return false;
}
is(document.createElement("div"), "div")
//true
is(document.createElement("div"), "li")
//false
anyIs(document.getElementsByTagName("div"), document.getElementsByTagName("div")[3])
//true
anyIs(document.getElementsByTagName("div"), "div")
//true
function is( elem, selector ) {
var sel = elem.ownerDocument.querySelectorAll( selector );
return [].some.call( sel, function( el ) {
return elem === el;
} );
}
如果有任何元素匹配,将返回true
。
相关文章:
- jQuery is not loaded
- jQuery is not defined - WordPress footer.php
- JQuery is(":focus")
- jQuery.is(':checked')总是返回false
- jquery: $ is undefined
- selectmenu jQuery is not working
- 如何在javascript中编写jquery “is”方法
- jQuery .is(':visible') 不起作用
- Adobe Edge Preloader JQuery/$ is undefined
- ES6 import – jQuery is not defined
- JavaScript/jQuery - "$ is not defined- $function()"
- JS (JQuery) - is not defined
- jQuery $ is not defined
- jQuery.is(“:焦点”)不;在IE以外的浏览器中,无法识别焦点在复选框上
- jquery is select selected
- ReferenceError: jQuery is not defined"选择的Jquery插件出错
- jQuery is undefined jquery-ui-1.9.2 and jquery-migrate-1.1.1
- jQuery .is(":visible") not Working
- jQuery.is(“:已禁用”)-为什么不;t这项工作
- JS equivalent of jQuery .is()