所以我的HTML代碼塊:得到一個DOM <script>標籤的文本使用jQuery
<div id="widget-injection">
<script id="metamorph-15-start" type="text/x-placeholder"></script>
<div id="ember977" class="ember-view widget-content">
...
</div>
<script id="metamorph-15-end" type="text/x-placeholder"></script><script id="metamorph-10-end" type="text/x-placeholder"></script>
...(more widgets with the same structure as above)
</div>
我格「窗口小部件注射」我在裏面有多個部件。我遍歷每一個與此得到他們的HTML:
this.$(".widget-content").each(function(i){
console.log($(this).prev()[0]);//It prints the correct string that I want "<script id="meta..."
widgetsHtml.push($(this).prev()[0]+$(this).html()+$(this).next()[0]);
});
它的工作原理內部小部件,內容很好,但,如果你注意到我一次上一個()和next()元素,這是ember.js符號腳本圍繞每個小部件。這是不起作用的部分。我想將這些prev()和next()字符串附加到由$(this).html()(它是每個widget-content HTML)產生的字符串。雖然,我總是最終從我的prev()和next()元素中獲取「[object HTMLScriptElement]」而不是"<script id="meta..."
,而我想要的只是對應的字符串。所以我的問題是,如何將一個DOM腳本元素轉換爲純文本/字符串?
PS:如果我在widget-content中有<script id="meta...">
,它最終會被正確轉換爲文本。
編輯:我忘了說,我嘗試了一切從HTML(),文本(),val(),innerText,innerHTML,你的名字。我總是空字符串或未定義。
在此先感謝
我忘了說我嘗試了其他一切html()text()val()你的名字。我總是空字符串或未定義。 – 2014-12-05 11:41:33
@JoãoMartins我不熟悉ember.js。您的示例是實際的html還是腳本標記內的內容?因爲現在他們是空的。 – Andy 2014-12-05 12:09:42
腳本內沒有任何內容。這只是一個地方,燼使用知道在哪裏綁定的元素,我猜。所以,這只是 – 2014-12-05 12:22:14