由於某些原因,我只能在創建Ember應用程序後添加JavaScript(即所有UI已被合併)。Ember視圖 - 如何在UI呈現後操作DOM而無需修改原始源代碼?
的HTML看起來像這樣:
<div id="ember21643" class="ember-view form_field ticket_type_id has-ticket-type-field">
<label for="">
<script id="metamorph-249-start" type="text/x-placeholder"></script>
Type
<script id="metamorph-249-end" type="text/x-placeholder"></script>
</label>
<div id="zd_mn_385" class="zd-selectmenu zd-selectmenu-root zd-state-default">
<button id="zd_mn_386" class="zd-selectmenu-base" role="button" tabindex="0" style="width: 131px; "><span class="zd-selectmenu-base-arrow zd-icon-triangle-1-s"></span><span id="zd_mn_387" class="zd-selectmenu-base-content">-</span></button>
</div>
</div>
可以很容易地使用jQuery瞄準做直接的DOM修改,但我擔心它會打破灰燼應用。
有沒有改變這種看法,例如有道:
- 附加/添加文本到div容器
- 改變文本的東西,而不是「類型」別人在上面例。
使用DOM檢查,這種觀點看起來像它可以訪問:
Ember.View.views.ember21643
而且
Ember.View.views.ember21643._childViews[0]
指向 「標籤」。所以我設置
Ember.View.views.ember21643._childViews[0]._lastNormalizedValue = "ABC"
,但它仍然顯示在屏幕上的「類型」所以也許這不是做的方式。
請幫助。非常感謝。 (我是Ember的新手)。
你是什麼意思的「沒有修改原始源代碼?」您是否正在嘗試編寫一些與正在運行的ember應用程序交互的JS代碼,但無法修改該應用程序的源代碼? –
@邁克爾:是的,這正是我想要做的。除了上述,我發現Ember.View.views.ember21643._childViews [0]指向「標籤」。所以我改變了Ember.View.views.ember21643._childViews [0] ._ lastNormalizedValue =「ABC」,但它仍然在屏幕上顯示「類型」......任何想法? – RyanN