$target.is( "a.foo" )
将返回true或false,具体取决于目标是否匹配内部是()。
如果我想检查()看到的内容怎么办?我使用什么功能?
我尝试alert($(target.is())
看看我是否能找到目标是什么,但我得到的值是假的。
答案 0 :(得分:1)
您可以尝试event.target
:
target属性可以是为事件注册的元素或其后代。将event.target与此进行比较通常很有用,以确定是否由于事件冒泡而处理了事件。当事件冒泡时,此属性在事件委派中非常有用。
$('a').click(function(event){
var $target = $(event.target);
if( $target.is("a.foo") ) {
...
}
})
答案 1 :(得分:0)
我不确定我是否理解这个问题,但根据您的主题,这里类似的jQuery函数将是.hasClass()
。
$target.hasClass('foo'); // true if $target contains a className 'foo'
答案 2 :(得分:0)
$('a').hover(function() {
$target = $(this);
if(!$target.hasClass('active')) {//or u can use is('#active') to check id
//to prevent same response on same object hover
$('a').removeClass('active');
$target.addClass('active');
$('.allPages').hide();
var getID = $target.attr('id');
$('#'+getID).show();
};
});
答案 3 :(得分:0)
如果在对象上使用console.log,以及在$ target和a.foo选择器的typeof上,这不是问题吗?
即
console.log($('a.foo'));
console.log(typeof($('a.foo')));
console.log($target);
console.log(typeof($target));
我认为这是.is()将要检查的内容,测试两个对象的值和类型,类似于'===',尽管我可能错了
答案 4 :(得分:0)
答案 5 :(得分:0)
对我而言,您似乎想知道是否找到了目标。 他们这样做:
if($target.length > 0){
//found
}
如果您想获取节点名称:
$target.get(0).nodeName
答案 6 :(得分:0)
所有jQuery对象都在属性中保留其原始选择器:
var $target = $('#originalSelector');
alert($target.selector); // Alerts '#originalSelector'