在jQuery中优化DOM选择
这是一个逗号 我不熟悉JavaScript/jQuery插件 如何为下面的脚本和DOM选择创建jQuery插件可以进行更多优化在jQuery中优化DOM选择,jquery,jquery-plugins,jquery-selectors,Jquery,Jquery Plugins,Jquery Selectors,这是一个逗号 我不熟悉JavaScript/jQuery插件 如何为下面的脚本和DOM选择创建jQuery插件可以进行更多优化 var option = {"N":"None","F":"Friends","FF":"Friends of Friends","E":"Everybody"} $("#uiSettingsPanel").find(".head").click(function(){ $("#uiSettingsPanel").find(".csli").slideUp()
var option = {"N":"None","F":"Friends","FF":"Friends of Friends","E":"Everybody"}
$("#uiSettingsPanel").find(".head").click(function(){
$("#uiSettingsPanel").find(".csli").slideUp();
$(this).parent().find('.csli').slideDown("slow");
});
$("#uiSettingsPanel .sli .privacy .row .caption").click(function(){
$("#uiSettingsPanel .sli .privacy .row .caption")
.parent().find(".body").slideUp("slow");
$(this).parent().find(".body").toggle("slow");
});
$("#uiSettingsPanel .sli .privacy .row .body select").change(function(){
$(this).parent().parent().parent().find(".caption .right div")
.html("<span class='wait'>Please wait...</span>");
var val = $(this).val();
var it = $(this);
setTimeout(function() {
it.parent().parent().parent()
.find(".caption .right div").html(option[val]);
},4000);
});
var option={“N”:“None”,“F”:“Friends”,“FF”:“Friends of Friends”,“E”:“Everybody”}
$(“#uiSettingsPanel”)。查找(“.head”)。单击(函数(){
$(“#uiSettingsPanel”).find(“.csli”).slideUp();
$(this.parent().find('.csli').slideDown(“slow”);
});
$(“#uiSettingsPanel.sli.privacy.row.caption”)。单击(函数(){
$(“#uiSettingsPanel.sli.privacy.row.caption”)
.parent().find(“.body”).slideUp(“slow”);
$(this.parent().find(“.body”).toggle(“slow”);
});
$(“#uiSettingsPanel.sli.privacy.row.body select”).change(函数(){
$(this.parent().parent().parent().find(“.caption.right div”)
.html(“请稍候…”);
var val=$(this.val();
var it=$(本);
setTimeout(函数(){
it.parent().parent().parent()
.find(“.caption.right div”).html(选项[val]);
},4000);
});
首先,您可以缓存选择器,然后使用find()缩小选择范围
像这样:
var uiSettingsPanel = $("#uiSettingsPanel");
var row = uiSettingsPanel.find('.sli .privacy .row');
var caption = row.find('.body .caption');
您应该考虑一种解理方法来减少DOM选择的数量和范围
还避免每次在事件处理程序中选择DOM(获取元素一次,然后缓存它们)
查看您的代码,我认为您将能够减少.parent()调用。执行以下操作:。优化代码的许多技巧。