博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
20个热门jQuery的提示和技巧
阅读量:6038 次
发布时间:2019-06-20

本文共 3606 字,大约阅读时间需要 12 分钟。

以下是一些非常有用的jQuery提示和所有jQuery的开发技巧。我分享这些,因为我认为他们将是非常有用的给你。声明:我没有写下面的代码,但已经从Internet收集各种来源。
 
1。优化性能复杂的选择
查询DOM中的一个子集,使用复杂的选择时,大幅提高了性能:

var subset = $("");
$("input[value^='']", subset);

2。设置上下文和提高性能
jQuery核心功能上,指定上下文参数。指定context参数,允许从DOM中更深的分支,而不是从DOM根,jQuery来启动。鉴于一个足够大的DOM,指定上下文参数转化为性能提升。

$("input:radio", document.forms[0]);


3。现场事件处理程序

设置任何一个选择的元素相匹配的事件处理程序,即使它被添加后的初始页面加载到DOM:

$('button.someClass').live('click', someFunction);


这允许你通过Ajax加载内容,或通过JavaScript添加事件处理程序的成立为这些元素正确自动。
 
同样,要停止现场事件处理:

4。检查索引
jQuery有索引,但它是一种痛苦,使用你所需要的元素的列表,并通过元素你想要的指标


var index = e.g $('#ul>li').index( liDomObject );

以下是比较容易:
$("ul > li").click(function ()
{
    var index = $(this).prevAll().length;
});
如果你想知道在一个集合元素的索引,例如在一个无序列表的列表项:
5。使用jQuery的数据的方法
jQuery的数据()方法是有用的,不为人所熟知。它可以让你无需修改DOM绑定数据到DOM元素。
$("ul > li").click(function ()
{
    var index = $(this).prevAll().length;
});
6。
删除一个元素的淡出效果基本show效果
结合多个jQuery效果,动画和删除DOM元素。


$("#myButton").click(function() {
         $("#myDiv").fadeTo("slow", 0.01, function(){ //fade
             $(this).slideUp("slow", function() { //slide up
                 $(this).remove(); //then remove from the DOM
             });
         });
});
7。检查是否存在一个元素
if 
($(
"#someDiv"
).length) {
    
//hooray!!! it exists...
}

使用下面的代码片段来检查一个元素是否存在与否。

8。添加到DOM中动态创建的元素

使用下面的代码片段来动态创建一个DIV,并添加到DOM。
var 
newDiv = $(
'<div></div>'
);

newDiv.attr("id","myNewDiv").appendTo("body");

9。换行符和chainability的

而不是做:

 
$(
"a"
).hide().addClass().fadeIn().hide();

像这样可以增加可读性:
$(
"a"
)
  
.hide()
  
.addClass()
  
.fadeIn()
  
.hide();

10。创建自定义选择

$.extend($.expr[
':'
], {
    
over100pixels: 
function
(a) {
        
return 
$(a).height() > 100;
    
}
});
 
$(
'.box:over100pixels'
).click(
function
() {
    
alert(
'The element you clicked is over 100 pixels high'
);
});

11。克隆在jQuery对象

使用clone()方法。jQuery的方法克隆任何JavaScript中的DOM对象。


// Clone the DIV
var 
cloned = $(
'#somediv'
).clone();
jQuery的clone()方法不克隆一个JavaScript对象。克隆JavaScript对象,使用下面的代码。
// Shallow copy
var 
newObject = jQuery.extend({}, oldObject);
 
// Deep copy
var 
newObject = jQuery.extend(
true
, {}, oldObject);

12。测试,如果事情是隐藏使用jQuery


我们使用。隐藏()。在jQuery的show()方法来改变元素的知名度。使用以下代码来检查一个元素是否是可见或不可见。
if
($(element).is(
":visible"
) == 
"true"
) {
       
//The element is Visible
}
13。另一种方式的文件准备就绪

//Instead of
$(document).ready(
function
() {
    
//document ready
});
//Use
$(
function
(){
    
//document ready
});

14。选择一个元素。(期),在它的ID

在选择使用反斜杠来选择的元素,在它的ID期间。

$(
"#Address\\.Street"
).text(
"Enter this field"
);

15。计数的直接子元素

如果你要计算所有的div#foo的元素存在于

<div id="foo">
  <div id="bar"></div>
  <div id="baz">
    <div id="biz">
  </div>
  <span><span>
</div>
 
//jQuery code to count child elements
$("#foo > div").size()

16。做一个“闪存”的元素

jQuery.fn.flash = 
function
( color, duration )
{
    
var 
current = 
this
.css( 
'color' 
);
    
this
.animate( { color: 
'rgb(' 
+ color + 
')' 
}, duration / 2 );
    
this
.animate( { color: current }, duration / 2 );
}
//Then use the above function as:
$( 
'#importantElement' 
).flash( 
'255,0,0'
, 1000 );
17。中心元素在屏幕上

jQuery.fn.center = 
function 
() {
    
this
.css(
"position"
,
"absolute"
);
    
this
.css(
"top"
, ( $(window).height() - 
this
.height() ) / 2+$(window).scrollTop() + 
"px"
);
    
this
.css(
"left"
, ( $(window).width() - 
this
.width() ) / 2+$(window).scrollLeft() + 
"px"
);
    
return 
this
;
}
 
//Use the above function as:
$(element).center();
18。获取父div使用最接近

如果你想找到的包装纸DIV元素(不论该DIV的ID),然后你会想这个jQuery选择:

$(
"#searchBox"
).closest(
"div"
);

19。禁用右键单击上下文菜单

还有许多JavaScript片段禁用右键
单击上下文菜单,但jQuery让事情容易多了:

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

});

20。获取鼠标光标的X和Y轴

这个脚本会显示X和Y值 - 鼠标指针的坐标。

$().mousemove(
function
(e){
    
//display the x and y axis values inside the P element
    
$(
'p'
).html(
"X Axis : " 
+ e.pageX + 
" | Y Axis " 
+ e.pageY);
});

转载地址:http://hgohx.baihongyu.com/

你可能感兴趣的文章
Eclipse C + GTK2.0环境构筑
查看>>
caffe solver
查看>>
Rhel6-heartbeat+lvs配置文档
查看>>
[CF340D]Bubble Sort Graph/[JZOJ3485]独立集
查看>>
ORACLE分科目统计每科前三名的学生的语句
查看>>
第一次冲刺--查看活动详情用户场景分析
查看>>
0317复利计算的回顾与总结
查看>>
函数对象
查看>>
Sharepoint学习笔记—习题系列--70-573习题解析 -(Q70-Q72)
查看>>
最全最新个税计算公式---今天你税了吗?
查看>>
linux shell 正则表达式(BREs,EREs,PREs)差异比较(转,当作资料查)
查看>>
MongoDB--CSharp Driver Quickstart .
查看>>
#pragma mark 添加分割线 及 其它类似标记 - 转
查看>>
二分法求平方根(Python实现)
查看>>
使用startActivityForResult方法(转)
查看>>
so在genymotation中错误问题
查看>>
Visual Studio 原生开发的10个调试技巧(二)
查看>>
Windows内核再次出现0Day漏洞 影响win2000到win10所有版本 反病毒软件恐成瞎子
查看>>
H3C品牌刀片系统强势首发
查看>>
【CSS系列】图像映射
查看>>