[英]jQuery selector caching issue
问题是,当我每次写HTML标签的ID时,下面的代码都有效。 但是当我缓存它们时,却没有。 我错过了什么?
这是我的代码:
var NewFormContainer=$("#NewUserFormContainer"), opener=$("#nufcOpen"), closer=$("#nufcClose"), NewForm=$("#NewUserForm");
$(function() {
$( "#userType" ).buttonset();
$(".btn").button();
closer.button({
icons: {
primary: "ui-icon-closethick"
}, text: false
}).click(function(){
NewFormContainer.slideUp("slow");
});
opener.click(function(){
NewFormContainer.slideDown("slow");
});
});
顺便说一下,控制台没有错误。 我也在使用jQ-UI
你需要在dom
准备好时cache
它们。
$(function() {
$( "#userType" ).buttonset();
$(".btn").button();
var NewFormContainer=$("#NewUserFormContainer"),
opener=$("#nufcOpen"),
closer=$("#nufcClose"),
NewForm=$("#NewUserForm");
closer.button({
icons: {
primary: "ui-icon-closethick"
}, text: false
}).click(function(){
NewFormContainer.slideUp("slow");
});
opener.click(function(){
NewFormContainer.slideDown("slow");
});
});
当你缓存它们时,它们会在document.ready之前被评估。 尝试这个:
var NewFormContainer="#NewUserFormContainer", opener="#nufcOpen", closer="#nufcClose", NewForm="#NewUserForm";
$(function() {
opener = $(opener);
closer = $(closer);
NewFormContainer = $(NewFormContainer);
NewForm = $(NewForm);
...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.