1

代码看起来像这样

function Scripts() {this.FindById = function (id) {
    this.FindById.constructor.prototype.value = function () {
        return document.getElementById(id).value;

    }}}

var Control = new Scripts();

现在当我说 Control.FindById("T1").value()。我无法获取 textInput("T1") 的值。

4

2 回答 2

1

看来您的代码应该比它更复杂;-)

我个人会这样写(未经测试):

function Scripts() {
  this.findById = function(id) {
    var el = document.getElementById(id);

    return {
      value: function() { 
        return el.value;
      }
    }
  }
}

现在findById()关闭一个节点并返回一个可以返回其值的接口。

此外,您的想法听起来很像 Singleton,因此您甚至不需要额外的Scripts构造函数:

var Control = {
    findById: function(id) {
        var el = document.getElementById(id);

        return {
            value: function() { 
                return el.value;
            }
        }
    }
}

工作示例:http: //jsfiddle.net/YYkD7/

于 2012-06-13T05:21:20.297 回答
0

尝试这个:

function Scripts() {this.FindById = function (id) {
    this.FindById.constructor.prototype.value = function () {
        return document.getElementById(id).value
    }}}

你没有关闭最后一个“}”:-)

于 2012-06-13T05:27:09.637 回答