【问题标题】:Javascript error: Uncaught TypeError: Object [object Object] has no method 'src'Javascript 错误:未捕获的类型错误:对象 [对象对象] 没有方法 'src'
【发布时间】:2014-03-08 10:32:59
【问题描述】:

我正在使用以下代码从 parse.com 类中获取图像并将它们返回到插入到 div 中的页面。

目前我收到 Uncaught TypeError: Object [object Object] has no method 'src'

并且没有图像被返回。

图像存储在 parse.com 的 Gbadges 类中,并作为字符串 (URL) 存储在列中。

我在 SO 或 google 上找不到与此问题完全匹配的内容。我认为它与图片网址有关?

请注意,此代码基于backbone.js 框架,可让您将脚本标签嵌入到您的html 5 代码中。

我在这里创建了一个小提琴http://jsfiddle.net/Dano007/cQgJG/

<!doctype html>
<head>
  <meta charset="utf-8">

  <title>My Parse App</title>
  <meta name="description" content="My Parse App">
  <meta name="viewport" content="width=device-width">
  <link rel="stylesheet" href="css/reset.css">
  <link rel="stylesheet" href="css/styles.css">
  <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
  <script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.2/jquery-ui.min.js"></script>
  <script type="text/javascript" src="http://www.parsecdn.com/js/parse-1.2.17.min.js"></script>
</head>

<body>

  <div id="main">
    <h1>You're ready to use Parse!</h1>

    <p>Read the documentation and start building your JavaScript app:</p>

    <ul>
      <li><a href="https://www.parse.com/docs/js_guide">Parse JavaScript Guide</a></li>
      <li><a href="https://www.parse.com/docs/js">Parse JavaScript API Documentation</a></li>
    </ul>

    <div style="display:none" class="error">
      Looks like there was a problem saving the test object. Make sure you've set your application ID and javascript key correctly in the call to <code>Parse.initialize</code> in this file.
    </div>

    <div style="display:none" class="success">
      <p>We've also just created your first object using the following code:</p>

        <code>
          var TestObject = Parse.Object.extend("TestObject");<br/>
          var testObject = new TestObject();<br/>
          testObject.save({foo: "bar"});
        </code>
    </div>
  </div>

  <script type="text/javascript">
    Parse.initialize("79tphN5KrDXdjJnAmehgBHgOjgE2dLGTvEPR9pEJ", "9lblofQNZlypAtveU4i4IzEpaOqtBgMcmuU1AE6Y");

    var TestObject = Parse.Object.extend("TestObject");
    var testObject = new TestObject();
      testObject.save({foo: "bar"}, {
      success: function(object) {
        $(".success").show();
      },
      error: function(model, error) {
        $(".error").show();
      }

    });

var GlobalBadges = Parse.Object.extend("GBadges");
    var query = new Parse.Query(GlobalBadges);
    query.exists("Global_Badge_Name");
    query.find({
      success: function(results) {
        // If the query is successful, store each image URL in an array of image URL's
        imageURLs = [];
        for (var i = 0; i < results.length; i++) { 
          var object = results[i];
          imageURLs.push(object.get('Global_Badge_Name'));
        }

        $('#Image01').src(imageURLs[0]); //first image
        $('#Image02').src(imageURLs[1]); //second image
        $('#Image03').src(imageURLs[2]); //third image
      },
      error: function(error) {
        // If the query is unsuccessful, report any errors
        alert("Error: " + error.code + " " + error.message);
      }
    });

 </script>

<div >
<img id="Image01"/>
<img id="Image02"/>
<img id="Image03"/>
 </div>


</body>
</html>



</body>
</html>

【问题讨论】:

  • src 不是方法,而是 DOM 节点的属性(=>property)。请参阅@Arun 的答案,或者您可以使用:$('#Image01')[0].src = imageURLs[0]; 与:document.getElementById('Image01').src = imageURLs[0]; 相同

标签: javascript jquery html parse-platform


【解决方案1】:

您需要使用attr() 来设置src 属性的值。

$('#Image01').attr('src',imageURLs[0]);

【讨论】:

    【解决方案2】:

    这是因为 javascript 在元素之前。将 javascript 放在元素(图像元素)下方,它应该可以正常工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-05
      • 1970-01-01
      • 2014-05-12
      相关资源
      最近更新 更多