これを試して:
編集:これはバックボーンボイラープレートアプリなので、答えを更新します:
問題は、レンダリング後にビューの「Partials」モジュールの $el を取得する方法です。モジュールを定義し、Backbone ビューをそのメンバーとして宣言しようとしています。次に、view のインスタンスを作成し、view.render().$el を介してメソッド呼び出しをチェーンします。Backbone Boilerplate render() にはデフォルトの動作があるため、ビューの $el を正常に取得します。ネイティブ バックボーン レンダリング関数は、オーバーライドできるように設計されています。
私の簡単な例:
モジュール宣言 (モジュール/ユーザー):
define(["app"],
function(app){
var User = app.module();
User.Views.Item = Backbone.View.extend({
template: "user/item",
tagName: "li",
serialize: function(){
return {model: this.model};
},
initialize: function(){
this.listenTo(this.model, "change", this.render);
}
});
return User;
});
アイテム テンプレート (templates/user/item.html)
<a href="#"><%=model.get("name")%></a>
Router の初期化呼び出しでビューの $el を取得してみてください
define([
// Application.
"app","modules/user"
],
function(app, User) {
// Defining the application router, you can attach sub routers here.
var Router = Backbone.Router.extend({
initialize: function(){
app.useLayout("main-layout").setViews({
".users":new User.Views.Item({model:new Backbone.Model({"name":"cccc"})})
}).render();
//try to access $el. it works
console.log(new User.Views.Item({model:new Backbone.Model({"name":"cccc"})}).render().$el);
},
routes: {
"": "index",
"user/:name":"user"
},
index: function() {
},
user: function(){
}
});
return Router;
});
最後に $el を取得しました:

これがお役に立てば幸いです。