2017-09-20 7 views
1

私は現在、アプリケーション全体をmopするアプリケーションに取り組んでいますが、今のところアプリケーションはJSPとjqueryで動作しています。emberビューの外でDOM要素を取得するにはどうすればよいですか?

私の問題は、現在、オブジェクト tag.nowでjspページに挿入されています。私はこのタグのクラスを知り、それに応じてルートをレンダリングしたいと思います。

私が$( 'オブジェクト')を見つけようとすると、何も得られません。

私は他のいくつかのオプションを利用しましたが、幸運はありませんでした。

私のインデックスルートは現在ホームルートをロードしていますが、オブジェクトタグで利用可能なクラスに基づいてルートをロードします。

以下

は私のindex.js

import Ember from 'ember'; 

    export default Ember.Route.extend({ 
     beforeModel() { 
     console.log(this); 
     this.replaceWith('rentals'); 
     } 
    }); 

で、私のJSPは、私の知る限りでは、次のことができるようにする必要があり、私の希望燃えさしアプリケーション

var url = "../../rdm/ember/dist/index.html"; 
       if(page = "user") 
       { 
        $(".ui-layout-center").html('<object type="text/html" class="user"></object>'); 
        $("object").attr('data',url); 
        mdmCurrentRequestObj = $(".ui-layout-center object"); 
       } 
       else 
       { 
        $(".ui-layout-center").html('<object type="text/html" class="userprofile"></object>'); 
        $("object").attr('data',url); 
        mdmCurrentRequestObj = $(".ui-layout-center object");  
       } 

答えて

0

を追加するために、このコードスニペットを持っています通常のJQueryを使用します。他の何かが間違っている可能性があります。私はこの問題がEmberとは関係がないとは思わない。しようとする

もの:

  • あなたは三重の等号を使用することを意味しますか? page === "user"シングルが奇妙なことを引き起こしている可能性があります。
  • DOM内のオブジェクトタグを探し、あなたはクロームインスペクタ
  • に見ればDOMオブジェクトが本当にあるかどうかを確認するために、いくつかのコンソールロギングを行います
  • 準備ができたときにオブジェクトを挿入し、このコードが実行されていることを確認
  • (バッククォートの代わりに引用符で囲まれた文字列をラップ)が見つかり、または属性の設定は、ちょうどそのような<object type="text/html" class="user" data=${data}></object>として、データATTRインライン含む
  • 試行が失敗しているわけではないがui-layout-centerは、例えば、クラス(およびいないID、として存在することを確認し)
  • 挿入の最小例を作成する他の種類の要素をDOMに追加し、次に属性を設定しようとします。たとえば、IDを持つdivを挿入して、それを参照してみます。

DOMからオブジェクトを取得できたら、おそらくオブジェクト自体の内容を照会して変更する必要があります。あなたの要素は、あなたがそれを取得し、変更を加える必要があるDOMの外にあるとき、ちょうど人々はそれをグーグルとこのasnwerを検索するための

$('#some-object').contents().find('.some-element').text("some text") 
+0

私は要素が追加されていることがわかりましたが、インデックスルートがすでにホームルートを設定した後にのみ追加されています。最初に要素を追加してからルート設定部分を必要とします。オブジェクトタグで使用可能なクラスに基づいてルートを設定します。 –

+0

最後に私はそれを取得しました、私はそれが直接、今私はEmberを行ったことができませんでしたので、私は何をserchingしていたので、DOMをしていた$(window.self.top.document).find( 'オブジェクト')。 "user")と私は私の要素を持っています、ありがとう。 –

+0

素晴らしいよ、歓迎です:) – handlebears

0

:そのための構文は次のようになります。私の要素を得るために何をしたのかは次の通りです

Ember.$(window.self.top.document).find('object').hasClass("user") 

これは完璧に機能しました。

関連する問題