芒果小站

  1. 全球最具业界良心的主机 - DigitalOcean

    毫无疑问,目前做得最好的主机供应商

    猛击这里查看

  2. 芒果小站目前使用的主机 - DigitalOcean

    客服响应快,随时退款,XEN 架构稳定

    猛击这里查看

  3. 最好的日本东京线路主机 - DigitalOcean

    可选弗里蒙特、达拉斯、亚特兰大、纽瓦克、伦敦、东京机房

    猛击这里查看

  • 1
  • 2
  • 3
切换到精简模式
1

8 个 JQuery 技巧和窍门

作者 芒果/分类 代码/发布于 2009-03-22 22:50

JQuery 是一款快速、易于使用的 JavaScript 框架。芒果介绍几个实用的 JQuery 技巧和窍门。

1. 新窗口打开链接
XHTML 1.0 Strict 版本不支持 target=”_blank” 属性,而使用 JQuery 能很好地解决这个问题,实现新窗口打开网页:

$('a[@rel$='external']').click(function(){
  this.target = "_blank";
});

/*
Usage:
<a href="http://mangguo.org/" rel="external">mangguo.org</a>
*/

2. 获得匹配元素的总数
以下代码将返回匹配元素的数目:

$('element').size();

3. 预加载图像
当使用 Javascript 处理图像载入时,可以使用图像实现预加载:

jQuery.preloadImages = function()
{
  for(var i = 0; i").attr("src", arguments[i]);
  }
};

// Usage
$.preloadImages("image1.gif", "/path/to/image2.png", "some/image3.jpg");

4. 检测浏览器
根据不同浏览器加载不同 CSS 能防止因浏览器差异造成的样式表渲染差异,使用 JQuery 可以轻松实现:

//A. Target Safari
if( $.browser.safari ) $("#menu li a").css("padding", "1em 1.2em" );

//B. Target anything above IE6
if ($.browser.msie && $.browser.version > 6 ) $("#menu li a").css("padding", "1em 1.8em" );

//C. Target IE6 and below
if ($.browser.msie && $.browser.version <= 6 ) $("#menu li a").css("padding", "1em 1.8em" );

//D. Target Firefox 2 and above
if ($.browser.mozilla && $.browser.version >= "1.8" ) $("#menu li a").css("padding", "1em 1.8em" );

5. 字符串替换
用 JQuery 能对文本内容中的特定字符串进行替换操作:

var el = $('#id');
el.html(el.html().replace(/word/ig, ""));

6. 列高度相等
用 CSS 实现两列高度相等并不容易,JQuery 能帮你解决:

function equalHeight(group) {
    tallest = 0;
    group.each(function() {
        thisHeight = $(this).height();
        if(thisHeight > tallest) {
            tallest = thisHeight;
        }
    });
    group.height(tallest);
}

/*
Usage:
$(document).ready(function() {
    equalHeight($(".recent-article"));
    equalHeight($(".footer-col"));
});
*/

7. 字体大小重设
字体大小重设是一个非常常用的功能:

$(document).ready(function(){
  // Reset Font Size
  var originalFontSize = $('html').css('font-size');
    $(".resetFont").click(function(){
    $('html').css('font-size', originalFontSize);
  });
  // Increase Font Size
  $(".increaseFont").click(function(){
    var currentFontSize = $('html').css('font-size');
    var currentFontSizeNum = parseFloat(currentFontSize, 10);
    var newFontSize = currentFontSizeNum*1.2;
    $('html').css('font-size', newFontSize);
    return false;
  });
  // Decrease Font Size
  $(".decreaseFont").click(function(){
    var currentFontSize = $('html').css('font-size');
    var currentFontSizeNum = parseFloat(currentFontSize, 10);
    var newFontSize = currentFontSizeNum*0.8;
    $('html').css('font-size', newFontSize);
    return false;
  });
});

8. 禁用右键菜单
有许多 JavaScript 代码段可禁用右键菜单,但 JQuery 使操作变得更容易:

$(document).ready(function(){
    $(document).bind("contextmenu",function(e){
        return false;
    });
});

英文原稿:8 awesome JQuery tips and tricks | CatsWhoCode
翻译整理:8 个 JQuery 技巧和窍门 | 芒果

版权所有,转载请注明出处。
转载自 <a href="http://mangguo.org/8-jquery-tip-and-trick/" title="8 个 JQuery 技巧和窍门" rel="bookmark">8 个 JQuery 技巧和窍门 | 芒果小站</a>
如果喜欢这篇文章,欢迎订阅芒果小站以获得最新内容。

已经有 1 条群众意见

  1. 金冈 /2009-06-29 12:35

    $(‘a[@rel$=’external’]’).click(function(){
    this.target = “_blank”;
    });

    /*
    Usage:
    mangguo.org
    */

    在 jQuery 1.3+ 版中 @ 已经弃用了,所以为:
    $(‘a[rel$=’external’]’).click(function(){
    this.target = “_blank”;
    });

    但是:
    [attribute=value] 匹配给定的属性是某个特定值的元素

    [attribute$=value] 匹配给定的属性是以某些值结尾的元素

    所以:
    $(“a[rel=’external’]”).click(function(){this.target=’_blank’});
    在 jQuery3.1+ 中,才是正确的 回应

    #1

下面我简单说几句