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