所以我的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