在这种情况下,jquery对象的作用是什么?

时间:2014-06-30 05:09:32

标签: jquery trim

我对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();
    });

2 个答案:

答案 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中定义的函数可以分类为:

  1. 全局函数,即jQuery.trim()jQuery.inArray(),也称为utility functions,位于jQuery命名空间中。
  2. 设置对一组元素进行操作并驻留在.each()原型中的函数,即jQuery.fn
  3. 重要的是要理解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元素时)。