$('.sort').each(function() {
var sum = 0;
//取得所有要調整的欄寬
var cells = $(this).find('.sort-item');
//統計總寬度
cells.each(function() {
sum += $(this).width();
});
//設定平均欄寬
var cellWidth = sum / cells.length;
cells.each(function() {
$(this).width(cellWidth);
});
});
2.限制checkbox選取
有一個多選的CheckboxList,需要限制最大的選取數量
如果超過則不能選擇:
//傳入CheckboxList Container的ID
bindMultiSelectLimit = function(id,limit) {
$('#' + id + ' input:checkbox').click(function() {
//使用Jquery selector直接找出所有已選之Checkbox
if ($('#' + id + ' input:checked').length > limit) {
return false;
}
});
};
bindReady(); // IEContentLoad: solve by great Italian hacker,
using doScroll check to check if DOM ready in IE :
doScroll(left); //will raise exception if DOM not ready.
8.getJSON : shorthand methods:
jQuery ajax() holds anything, but get,post,getJSON,getScript shorten the varible.
9.selector performence.
$('#id') vs $('#id tag.thing')
$('#id tag.thing') will self parse to => $('#id').find('tag.thing');
$('#id').find('tag.thing')
$(':password') === $('*:password')
so better provide tagname ex: $('input:password');
10.getJSON: function protect 會用regex檢查資料是否為JSON,如果是的話就pass,
不是的話會呼叫 (new Function("return" + data))();
這叫Function constructor: 回傳
function(){return data;}
=== eval('('+data')');
但是避開使用邪惡的eval