我开始一个项目与jQuery。
在你的jQuery项目中有哪些陷阱/错误/误解/滥用/误用?
我开始一个项目与jQuery。
在你的jQuery项目中有哪些陷阱/错误/误解/滥用/误用?
当前回答
使用ClientID在ASP中获取控件的“真实”id。网络项目。
jQuery('#<%=myLabel.ClientID%>');
另外,如果你在SharePoint内部使用jQuery,你必须调用jQuery. noconflict()。
其他回答
如果你多次bind()同一个事件,它将多次触发。为了安全起见,我通常总是unbind('click').bind('click')
理解如何使用上下文。通常,jQuery选择器会搜索整个文档:
// This will search whole doc for elements with class myClass
$('.myClass');
但是你可以通过在上下文中搜索来加快速度:
var ct = $('#myContainer');
// This will search for elements with class myClass within the myContainer child elements
$('.myClass', ct);
事件
$("selector").html($("another-selector").html());
不会克隆任何事件-你必须重新绑定它们。
根据JP的评论- clone()如果您传递true,则会重新绑定事件。
如果你想让用户在他们的浏览器中看到html实体,使用'html'而不是'text'来注入Unicode字符串,例如:
$('p').html("Your Unicode string")
使用字符串累加器样式
使用+运算符在内存中创建一个新的字符串,并将连接的值赋给它。只有在此之后,结果才被赋值给一个变量。 为了避免连接结果的中间变量,可以使用+=运算符直接分配结果。 慢:
a += 'x' + 'y';
速度:
a += 'x';
a += 'y';
基元操作可能比函数调用快
考虑在性能关键循环和函数中使用替代基元操作而不是函数调用。 慢:
var min = Math.min(a, b);
arr.push(val);
速度:
var min = a < b ? a : b;
arr[arr.length] = val;
请参阅JavaScript性能最佳实践