微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

是否有像jQuery .is()的谷歌闭包功能

我对 Jquery比较熟悉,但我正在使用Google Closure.我想知道在Google Closure中是否有任何函数或库,如jQuery中的 .is(),所以我可以检查目标元素是否与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

您可以在W3C Index of Elements上阅读有关不同(和查找)TagName选项的信息.

以下是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而不是元素,会有所帮助.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐