【问题标题】:Type Error: undefined is not an object (evaluating $.body.append)类型错误:未定义不是对象(评估 $.body.append)
【发布时间】:2017-07-12 05:14:25
【问题描述】:

我正在尝试使用 javascript 来设置正文的附加 html,但由于某种原因,它不起作用。我发现其他人以前也遇到过这个问题,但是我在其他帖子中找到的解决方案都不起作用。我不明白怎么了。

这是我的测试函数:

function(data) {
     item = {"name": "xxxx", age: 40}
     $.body.append("<a href="#!">" +item["name"]+ "</a>")
}

我在 python webview 中遇到了这个错误:

xxx.html:42TypeError: 'undefined' is not an object (evaluating '$.body.append')

我在网上找到的所有内容都表明这应该有效。我迷路了。任何帮助将不胜感激。

【问题讨论】:

  • 您的意思可能是$('body').append。 jQuery 对象没有body 属性
  • 是的@Phil 我也试过这个。但仍然是同样的错误。
  • 您的引号嵌套也不正确。试试$(document.body).append('&lt;a href="#!"&gt;' + item.name + '&lt;/a&gt;')
  • 我从未见过这种语法。 $("body").append(***) 而不是?
  • 感谢@Phil $(document.body).append('' + item.name + '') 这个正在工作。跨度>

标签: javascript jquery python webview


【解决方案1】:

你有两个问题。

1) $.body 不是访问正文的正确语法。

$('body') 是正确的。

2) 您的字符串格式不正确。当您在该字符串中使用"" 时,您必须使用'' 进行包装,反之亦然。

应该是

  $('body').append('<a href="#!">' +item["name"]+ '</a>');

【讨论】:

    【解决方案2】:
    function(data) {
     item = {"name": "xxxx", age: 40}
     $.body.append("<a href="#!">" +item["name"]+ "</a>")
    }
    

    如上所述,$.body 不是 jQuery 语法。

    但是,您可以使用 document.body 之类的 javascript 来执行此操作。

    毕竟,在正确附加字符串之前,两者都无法正常工作。

    你必须做类似的事情:

    $(document.body).append("<a href='#!'>"+item.name+"</a>");
    

    最后一个正确的如果你没有全局定义它,请不要忘记在函数(数据)中定义你的变量项。

    所以你的功能是:

    function(data) {
         var item = {"name": "xxxx", age: 40};
        $(document.body).append("<a href='#!'>"+item.name+"</a>");
    }
    

    【讨论】:

      猜你喜欢
      • 2020-04-02
      • 1970-01-01
      • 2023-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-22
      • 2021-10-21
      • 1970-01-01
      相关资源
      最近更新 更多