【发布时间】:2011-05-12 13:52:08
【问题描述】:
我一直在为这个我一直在研究的 javascript 框架使用 jQuery,我想知道是否有一种方法可以检查给定的选择器是否与给定的 jQuery 对象匹配。比如:
var divObj = $(document.createElement('div'));
var result = divObj.hasSelector('div');
如果选择器与对象匹配,结果将返回“true”或返回对象。
【问题讨论】:
我一直在为这个我一直在研究的 javascript 框架使用 jQuery,我想知道是否有一种方法可以检查给定的选择器是否与给定的 jQuery 对象匹配。比如:
var divObj = $(document.createElement('div'));
var result = divObj.hasSelector('div');
如果选择器与对象匹配,结果将返回“true”或返回对象。
【问题讨论】:
您可以使用以下方法判断对象是否为 div:
$('selector').is('div');
或者直接比较:
$('selector1')[0].tagName == $('selector2')[0].tagName
【讨论】:
.is() 将匹配集合中的任何元素匹配选择器(这也可能更复杂)。
.get() 何时被弃用?
get 的高级功能(比如,负索引),括号表示法不支持。
有一个.is() 函数正是为此:
var divObj = $(document.createElement('div'));
var result = divObj.is('div');
You can test it out here。请注意,这是一个简单的情况,请注意在其他情况下 .is() 返回 true 如果您正在运行的 jQuery 对象中的 任何 元素与选择器匹配。
【讨论】:
$(divObj[0]).is('div').
divObj[0].tagName == "DIV" :-)