0

私のビューには、Backbone.jsを使用してレンダリングされたスパンがあります

レンダリングされたらすぐにHTMLを取得したい

何かのようなもの :$(span).html()

これどうやってするの?

4

2 に答える 2

1

renderBackbone.Viewには実際にはメソッドがまったくないため、この質問は少し混乱しました(技術的にはメソッドはありますが、操作はできません)。100%ユーザー定義です。その事実を考えると、...まあ、レンダリング後のチェックは...まあ、レンダリング後にチェックするのと同じくらい簡単です。

つまり、ビューのレンダリングメソッドが次の場合:

var YourView= Backbone.View.extend({
    render: function() {
        this.$el.html(someHtml);
    }
});

次に、あなたがする必要があるのは:

var YourView= Backbone.View.extend({
    render: function() {
        this.$el.html(someHtml);
        console.log(this.$el.html()); // check rendered HTML
    }
});

それをイベントで仲介したい場合は(@aerodynamoが提案したように):

var YourView= Backbone.View.extend({
    events: {'customPostRender': 'postRender'},
    postRender: function() {
        console.log(this.$el.html()); // check rendered HTML
    },
    render: function() {
        this.$el.html(someHtml);
        this.trigger('customPostRender');
    }
});

しかし、実際にはそれは必要ではありません。

于 2013-01-23T22:46:44.470 に答える
0

MutationObserverが役立つかどうかはわかりませんが、必ずチェックする価値があります:-)

于 2013-01-23T23:40:05.950 に答える