【发布时间】:2012-11-12 08:03:22
【问题描述】:
我已经做了很多调试,但似乎错误发生在我尝试在ae2Multi() 中使用“this”时。
<html><head>
<title>Custom</title>
<style type="text/css"></style>
<script type="text/javascript">
function ae2(elementName) {
var elementObject;
var elementType = elementName.charAt(0);
if(elementType == "#") {
elementObject = document.getElementById(elementName.substr(1));
} else if(elementType == ".") {
elementObject = document.getElementsByClassName(elementName.substr(1));
} else {
elementObject = document.getElementsByTagName(elementName);
}
return elementObject;
}
function ae2Single() {
this.innerHTML = "singleIsWorking";
}
function ae2Multi() {
alert(this);
for (var i = 0; i < this.length; i++) {
this[i].innerHTML = "it really worked!";
}
}
Element.prototype.ae2Single = ae2Single;
Element.prototype.ae2Multi = ae2Multi;
window.onload = function() {
ae2(".container").ae2Multi();
}
</script></head><body><div id="containerMain">hello world!</div><div class="container">hello again!</div><div class="container">hello yet again!</div></body</html>
【问题讨论】:
-
您使用的是什么客户端库? mootools?
-
“发生错误” - 什么错误?
-
无,这是我用 javascript 链接到的文件,我只是将代码放入内联代码中以便于发布并且忘记取出参考。
-
TypeError: 'undefined' is not a function (evalating 'ae2(".container").ae2Multi()')
标签: javascript arrays parameter-passing