【问题标题】:Getting strange error when running the following function运行以下函数时出现奇怪的错误
【发布时间】:2016-08-06 10:57:55
【问题描述】:

我正在尝试做类似的事情

HTML('slider1') = someimage;

但是我的HTML() 函数没有返回document.getElementById('slider1');

function HTML(id){
    if(typeof value !== undefined){
        return document.getElementById(id).innerHTML;
    }
}

【问题讨论】:

  • 您正在尝试为函数赋值?这不应该是var someimage = HTML('slider1');吗?

标签: javascript jquery functional-programming javascript-objects dom-events


【解决方案1】:

typeof 允许标识符以前从未被声明过。

function HTML(id){
      if(typeof value == "undefined")
      {
          //do nothing
      }else{
          return document.getElementById(id).innerHTML;
          }
}

你也可以试试

 if(typeof neverDeclared === typeof undefined) //also no errors and no strings

【讨论】:

    【解决方案2】:

    我认为你正在尝试通过 innerHTML 分配一些图像,你可以将你的函数更新为这样的东西

    function HTML(id){
        if(typeof value !== undefined){
            return document.getElementById(id);
        }
    }
    
    HTML('slider1').innerHTML = someimage;
    
    
    
    //OR
    
    
    
    function HTML(id, htmlChunk){
        if(typeof value !== undefined){
            document.getElementById(id).innerHTML = htmlChunk;
        }
    }
    
    HTML('slider1',someimage);

    【讨论】:

    • 嗨 Satwik,谢谢,您的解决方案有效,但您能解释一下为什么我的解决方案无效。
    • ' 您正在尝试将一个值分配给从函数“HT​​ML”返回的另一个值。 HTML('slider1') = someimage; ** 与代码中的 **document.getElementById(id).innerHTML = someimage; 函数不同,它返回滑块 1 的 innerHTML,例如
      Hello
      然后 HTML('slider1') = someimage; ** 执行为 **"Hello" = someimage; 这是一个错误'
    猜你喜欢
    • 1970-01-01
    • 2011-02-07
    • 2014-12-20
    • 2017-01-03
    • 2016-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-30
    相关资源
    最近更新 更多