javascript - 无法将 html 插入 jQuery 对象

标签 javascript jquery html css backbone.js

我想将一些 html 插入到我页面上的一个 div 中,但它不起作用。我正在尝试插入模板化 html $('#users-found').html(tpl) 但它不起作用。它在我使用 this.$el.append 时有效,但我希望在每次搜索用户时更改它。有什么想法吗?

define([
  'jquery',     
  'underscore', 
  'backbone',
  'parse',
  'text!templates/searchUsers_tpl.html',
  'text!templates/userList_tpl.html'    
], function($, _, Backbone, Parse, SearchUsersTpl, UserListTpl){
var SearchUsersView = Backbone.View.extend({

    el: '#content',

    initialize: function(){
        console.log('search users');
        this.render();
    },

    render: function(){
        this.$el.html(SearchUsersTpl);
    },

    events: {
        'click #submit-search': 'search'
    },

    search: function(){
        var self = this;
        var input = $('#search-users-input').val();
        console.log('search input: ' + input);
        var query = new Parse.Query(Parse.User);
        query.equalTo('username', input);
        query.find({
            success: function(results){
                console.log("Successfully retrieved " + results.length + " users.");

                for (var i = 0; i < results.length; i++) {
                    var object = results[i];
                    console.log(object.id + ' - ' + object.get('username'));
                }

                var tpl = _.template(UserListTpl, {users: results});
                $('#users-found').html(tpl);
            },
            error: function(){
                console.log('search for user failed');
            }
        });
    }

}); 
  return SearchUsersView;      
});

创建 View 时加载的 html,SearchUsersTpl

<h1>Find Friends</h1>
<br>
<br>
<input id='search-users-input' type="search" value="" placeholder="search username" class="topcoat-search-input">
<button type='search' id='submit-search' class='topcoat-button'>Search</button>
<br>
<br>
<div id='#users-found'></div>

模板

<div>
 <% _.each(users, function(user) { %> 
    <li><%= user.get('username') %></li> 
 <% }); %>
</div>

最佳答案

您的 DIV 有错误的 ID。它应该是

>
而不是 < div id='#users-found' >>

has h 仅用作选择器,但在将其指定为 ID 时不是必需的。

关于javascript - 无法将 html 插入 jQuery 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22187921/

相关文章:

javascript - jquery .children() 的 .get()

javascript - JavaScript focus() 是否触发浏览器滚动水平条

jquery - 如何在树中查找元素和 sibling

html - 使用网站上的某种字体

html - 如何使图像超链接具有背景图像?

javascript - 让 ngClick 处理动态字段

javascript - session 未定义 - 使用 Connect-Redis/ExpressJS/Node

javascript - 单击 'expand' 按钮后如何设置固定表大小

php - 使用 laravel 5 和 ajax 将数据发布到数据库时出现 500 内部服务器错误

html - 如何使用 Bootstrap 为 <li> 创建下拉列表