$target.is("a.foo")
將返回true或false,取決於目標是否匹配內部是()。另一個類似於is()的JQuery函數是什麼?
如果我想檢查()看到什麼,該怎麼辦?我使用什麼功能?
我試着alert($(target.is())
看看我是否能夠找出目標是什麼,但我剛剛得到的值爲false。
$target.is("a.foo")
將返回true或false,取決於目標是否匹配內部是()。另一個類似於is()的JQuery函數是什麼?
如果我想檢查()看到什麼,該怎麼辦?我使用什麼功能?
我試着alert($(target.is())
看看我是否能夠找出目標是什麼,但我剛剛得到的值爲false。
我不確定我是否理解這個問題,但根據您的主題,此處類似的jQuery功能應該是.hasClass()
。
$target.hasClass('foo'); // true if $target contains a className 'foo'
你可以嘗試event.target
:
目標屬性可以是註冊的事件或它的後代元素。將event.target與此進行比較以確定事件是否由於事件冒泡而被處理通常很有用。當事件發生時,此屬性在事件委派中非常有用。
$('a').click(function(event){
var $target = $(event.target);
if($target.is("a.foo")) {
...
}
})
u可以使用的是()來檢查一些變量返回的功能; 它非常類似於hasClass方法..
$('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();
};
});
如果會使用對象的console.log,並同時在$目標和a.foo的選擇的將typeof這不會是一個問題?
即
console.log($('a.foo'));
console.log(typeof($('a.foo')));
console.log($target);
console.log(typeof($target));
我想這是什麼。就是()將被檢查,測試兩個對象的價值和類型,類似於「===」雖然我可能是錯的
對我來說,它看起來像你想找出目標是否被發現。 他們的方式來做到這一點:
if($target.length > 0){
//found
}
如果你想獲得節點名稱做:
$target.get(0).nodeName
不,我知道目標被找到了,我只是不知道它是什麼。 – 2012-07-10 09:05:31
編輯答案,如果你想得到節點名稱,如:div,li,表單等。 – 2012-07-10 12:53:55
是的,這是正確的。因爲這是給予is()的信息。 – 2012-07-10 20:06:21
所有的jQuery對象的屬性保持原來的選擇:
var $target = $('#originalSelector');
alert($target.selector); // Alerts '#originalSelector'
*「是什麼如果我想檢查()看到什麼?「*這是什麼意思?如果你想知道它是如何工作的,請查看源代碼。 – 2012-07-10 08:50:51
我想OP是要求一個函數,你可以調用一個jQuery對象來返回「a.foo」,一個描述元素的字符串。問題是,一個目標可以使用jQuery針對許多不同的方式,所以沒有一個單獨的字符串可以描述一個元素「是」。元素可以是「a」或「a.foo」或「a [href ='foobar']」或「a.foo#bar [href ='foobar']」。所有這些都可能與您的目標匹配,但無法調用反函數。 – tb11 2012-07-10 08:55:22
你嘗試過'$ target.is.toString()'嗎? – 2012-07-10 08:58:13