类型错误:undefined不是对象(评估$ .body.append)

时间:2017-07-12 05:14:26

标签: javascript jquery python webview

我正在尝试使用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')

我在网上发现的一切都说这应该有效。我搞不清楚了。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:3)

你有两个问题。

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

$('body')是正确的。

2)你的字符串形成不正确。当你在该字符串中使用''时,你必须用""换行。或者反之。

应该是

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

答案 1 :(得分:1)

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>");
}