Skip to main content
 首页 » 编程设计

jquery之有没有像 jQuery .is() 这样的谷歌闭包函数

2026年10月07日3daizhj

我更熟悉 Jquery,但我正在使用 Google Closure。我想知道 Google Closure 中是否有类似 .is() 的函数或库在 jQuery 中,我可以检查目标元素是否与 css 选择器匹配。我找到了一个插件 goog.dom.query,但这并不完全是我所需要的,因为它用于查找元素。

请您参考如下方法:

我自己并没有真正使用 Google Closure 库,但经过一些研究后。我发现了一些可能与此相关的方法github library(unit tests)和 dom.js图书馆。您可以使用 .tagName ,与严格等于结合使用。例如,如果我正在寻找 DIV 元素。

var parent = goog.dom.createDom(goog.dom.TagName.DIV); 
parent.tagName === goog.dom.TagName.DIV 

或者如果我正在寻找 li 元素。

parent.tagName === goog.dom.TagName.LI 

您可以阅读有关不同的内容(并找到)TagName W3C Index of Elements 上的选项.

这里是 extends 的方法示例google 闭包,并可能复制 .is() 的基本功能(jQuery 等效 .is('li'))..

/** 
 * Checks the type of an element 
 * @param {Node} element 
 * @param {string} type 
 * @return {boolean} 
 */ 
goog.dom.is = function(element, type) { 
    switch(type){ 
        case goog.dom.TagName.DIV: 
            return true; 
            break; 
        case goog.dom.TagName.P: 
            return true; 
            break; 
        case goog.dom.TagName.LI: 
            return true; 
            break; 
        case goog.dom.TagName.UL: 
            return true; 
            break; 
        //Add more types... 
    } 
    return false; 
}; 

虽然可以改进,this而不是 element 会有所帮助。 ;)