无法读取属性";removeClass“;未定义的。Javascript
我正在尝试使用以下调用调用remove类:无法读取属性";removeClass“;未定义的。Javascript,javascript,Javascript,我正在尝试使用以下调用调用remove类: MyUtils.removeClass(e,“empty”) 但我在调试器中遇到错误“无法读取未定义的属性”removeClass。我似乎无法找出我在removeClass调用中遗漏了什么 这是我的removeClass函数 var removeClass = function removeClass(el, classStr) { delete el.className; }; 下面是完整的代码,HTML正在测试这两种方法 <body
MyUtils.removeClass(e,“empty”)代码>
但我在调试器中遇到错误“无法读取未定义的属性”removeClass。我似乎无法找出我在removeClass调用中遗漏了什么
这是我的removeClass函数
var removeClass = function removeClass(el, classStr) {
delete el.className;
};
下面是完整的代码,HTML正在测试这两种方法
<body>
<div id="foo" class="column empty">Halloween!</div>
<script type="text/javascript" src="utils.js"></script>
<script>
var e = document.getElementById("foo");
var q = function (s){ document.write("<div>"+s+"</div>"); }
q("initial (" + e.className+")");
MyUtils.removeClass(e,"empty");
q("removed empty (" + e.className+")");
MyUtils.addClass(e,"column");
q("added column again (" + e.className+")");
MyUtils.removeClass(e,"scary");
q("removed scary (" + e.className+")");
MyUtils.addClass(e,"lum");
q("added lum (" + e.className+")");
MyUtils.removeClass(e,"column");
q("removed column (" + e.className+")");
MyUtils.addClass(e,"foo");
q("added foo (" + e.className+")");
MyUtils.addClass(e,"bar");
q("added bar (" + e.className+")");
</script>
</body>
对于,您必须指定从中显示为MyUtil
:
var MyUtil = (function () {
// ... (define the functions of the module)
// reveal its "public" functions
return {
addClass: addClass,
removeClass: removeClass,
walkTheDom: walkTheDom,
getElemebtsByClassName: getElemebtsByClassName
};
})();
如果没有最后一步,MyUtil
将保存未定义的值,而不引用正在定义的函数。使用,您必须指定从中显示为MyUtil
的内容:
var MyUtil = (function () {
// ... (define the functions of the module)
// reveal its "public" functions
return {
addClass: addClass,
removeClass: removeClass,
walkTheDom: walkTheDom,
getElemebtsByClassName: getElemebtsByClassName
};
})();
如果没有最后一步,MyUtil
将保存未定义的值,而不引用正在定义的函数。使用,您必须指定从中显示为MyUtil
的内容:
var MyUtil = (function () {
// ... (define the functions of the module)
// reveal its "public" functions
return {
addClass: addClass,
removeClass: removeClass,
walkTheDom: walkTheDom,
getElemebtsByClassName: getElemebtsByClassName
};
})();
如果没有最后一步,MyUtil
将保存未定义的值,而不引用正在定义的函数。使用,您必须指定从中显示为MyUtil
的内容:
var MyUtil = (function () {
// ... (define the functions of the module)
// reveal its "public" functions
return {
addClass: addClass,
removeClass: removeClass,
walkTheDom: walkTheDom,
getElemebtsByClassName: getElemebtsByClassName
};
})();
如果没有最后一步,MyUtil
将保留未定义的
值,而不引用正在定义的函数。问题是,只能在MyUtils
内部访问函数,而不能从外部访问函数
你可以用
var MyUtils={
addClass:函数(el,classStr){
if(el.className!==classStr){
el.className=classStr;
}
},
removeClass:函数(el,classStr){
删除el.className;
}
/*, ... */
};
或者,如果你也想有私有变量
var MyUtils = (function(){
var thisIsPrivate = whatever;
function addClass(el, classStr) {
if (el.className !== classStr) {
el.className = classStr;
}
},
function removeClass(el, classStr) {
delete el.className;
}
/* ... */
// Export public properties to the outside:
return {addClass: addClass, removeClass: removeClass/*, ... */};
})();
问题是您的函数只能在MyUtils
内部访问,而不能从外部访问
你可以用
var MyUtils={
addClass:函数(el,classStr){
if(el.className!==classStr){
el.className=classStr;
}
},
removeClass:函数(el,classStr){
删除el.className;
}
/*, ... */
};
或者,如果你也想有私有变量
var MyUtils = (function(){
var thisIsPrivate = whatever;
function addClass(el, classStr) {
if (el.className !== classStr) {
el.className = classStr;
}
},
function removeClass(el, classStr) {
delete el.className;
}
/* ... */
// Export public properties to the outside:
return {addClass: addClass, removeClass: removeClass/*, ... */};
})();
问题是您的函数只能在MyUtils
内部访问,而不能从外部访问
你可以用
var MyUtils={
addClass:函数(el,classStr){
if(el.className!==classStr){
el.className=classStr;
}
},
removeClass:函数(el,classStr){
删除el.className;
}
/*, ... */
};
或者,如果你也想有私有变量
var MyUtils = (function(){
var thisIsPrivate = whatever;
function addClass(el, classStr) {
if (el.className !== classStr) {
el.className = classStr;
}
},
function removeClass(el, classStr) {
delete el.className;
}
/* ... */
// Export public properties to the outside:
return {addClass: addClass, removeClass: removeClass/*, ... */};
})();
问题是您的函数只能在MyUtils
内部访问,而不能从外部访问
你可以用
var MyUtils={
addClass:函数(el,classStr){
if(el.className!==classStr){
el.className=classStr;
}
},
removeClass:函数(el,classStr){
删除el.className;
}
/*, ... */
};
或者,如果你也想有私有变量
var MyUtils = (function(){
var thisIsPrivate = whatever;
function addClass(el, classStr) {
if (el.className !== classStr) {
el.className = classStr;
}
},
function removeClass(el, classStr) {
delete el.className;
}
/* ... */
// Export public properties to the outside:
return {addClass: addClass, removeClass: removeClass/*, ... */};
})();
错误提示未定义MyUtils
,或者在使用MyUtils的位置不可用。你能为代码片段提供更多的上下文吗?我刚刚添加了调用它的HTML代码,以及完整的javascript MyUtils函数。我建议看一看错误提示MyUtils
未定义或在使用它的地方不可用。你能为代码片段提供更多的上下文吗?我刚刚添加了调用它的HTML代码,以及完整的javascript MyUtils函数。我建议看一看错误提示MyUtils
未定义或在使用它的地方不可用。你能为代码片段提供更多的上下文吗?我刚刚添加了调用它的HTML代码,以及完整的javascript MyUtils函数。我建议看一看错误提示MyUtils
未定义或在使用它的地方不可用。你能为代码片段提供更多的上下文吗?我刚刚添加了调用它的HTML代码,以及完整的javascript MyUtils函数。我建议看一下