我对jquery对象的理解尚不清楚。下面的Jquery / javascript代码在第4行有一个jQuery对象,调用trim。 trim函数是jQuery对象的一个方法,它在括号内返回结果吗?我只需要确认或澄清。
$('.tabs > ul li a').on('mouseover', function(){
var that = $(this),
tabs= that.parent().parent().parent(),
target=jQuery.trim(that.attr('href').substring(1)),
items=tabs.find('ul li');
items.removeClass('selected').find('a[href="#' + target +'"]').parent().addClass('selected');
tabs.find('.tab').show();
tabs.find('.tab:not(".'+target+'")').hide();
});
答案 0 :(得分:0)
您可以在trim
中查看jQuery source code功能的工作原理trim: function( text ) {
return text == null ?
"" :
( text + "" ).replace( rtrim, "" );
},
为了更清楚,请注意what rtrim means
rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,
请参阅explanation of that regex in URL。
它只是将您的文本转换为字符串,然后从开头和结尾删除空格,BOM,NBSP和其他内容。
Few lines above rtrim
您会看到jQuery
对象引用docs
jQuery对象实际上只是init构造函数'增强型'
它只是一个带有jquery属性属性的对象,其中一个是trim
,类型为function
,我已经在上面描述了它的值。
答案 1 :(得分:0)
jQuery
中定义的函数可以分类为:
jQuery.trim()
,jQuery.inArray()
,也称为utility functions,位于jQuery
命名空间中。.each()
原型中的函数,即jQuery.fn
。重要的是要理解jQuery
是一个构造函数和一个可以附加函数的命名空间。
说明不同之处:
// iterate over an array or object
$.each(arr, function(value) {
});
对战:
// iterate over a set of elements based on a given selector
$('div').each(function() {
});
回答你的问题; trim()
是jQuery
命名空间内的一个函数(它是一个对象,但它不是 jQuery对象,例如当你操作DOM元素时)。