这段代码在做什么?我不确定这个$角色和Jquery的新角色

时间:2011-12-29 20:58:53

标签: javascript jquery

这个代码只是向我抛出,试图强迫我的宽度适合所有的broswers,而不是采取最长的字符串,并使宽度的大小,这是现在的状态。我是所有这一切的新手,并且不确定我是否理解它。请帮助任何建议将不胜感激..谢谢

if($.browser.msie && parseInt($.browser.version, 10) < 8)
{
    var relevantDropdowns = $('select[name*="codeValue"]');
    relevantDropdowns.mousedown(function()
    {
        if($(this).css('width')!== 'auto');
        {
            $(this).css('width', 'auto');
            $(this).css('position', 'absolute');
        }
    });

    relevantDropdowns.blur(function()
    {
        $(this).css('width', '100px');
        $(this).css('position', '');
    });

    relevantDropdowns.change(function()
    {
        $(this).css('width', '100px');
        $(this).css('position', '');
    });
}

2 个答案:

答案 0 :(得分:4)

$jQuery的别名,$.browser.msie是实现jQuery全部功能的对象。它可以以多种方式使用:

  • 作为普通对象,访问其属性(如$(select[name*="codeValue"]')
  • 作为接受字符串(或元素,元素数组或jQuery集合)的函数,它从DOM中选择元素并包装它们,返回jQuery集合(如$(this)中所述)按字符串选择,或在$.ready()中选择,以包装原始元素)
  • 作为接受函数的函数,作为{{1}}
  • 的别名

第二个是jQuery最常见的,用于访问文档中的元素。返回的jQuery集合然后实现了一堆jQuery方法,它们通常返回相同的集合,因此它们可以被链接。

答案 1 :(得分:1)

这是使用jQuery库的代码。在jQuery中,$符号既用作函数又用作对象。所以$.browser.msie是属性值。 $(this)是一个函数调用,它调用$函数并将其this作为参数传递。

在jQuery中,将DOM元素传递给$函数会返回一个jQuery对象,然后可以在其上调用一堆jQuery方法。

例如:

$(this).css('width')

获取对象的CSS宽度(在内部使用getComputedStyle)。

$(this).css('width', 'auto');

将对象的CSS宽度设置为“auto”。