javascript - jQuery 选择器将所有脚本作为文本关闭页面

标签 javascript jquery jquery-selectors

我有一个这样的网页

<html>
    <head>
        <script type="script/text" src="http://www.seantburke.com/j.js"></script>
        <script type="script/text">
            $(document).ready({var foo;});
        </script>
    </head>
    <body>
        <script>
            var s = "some more javascript here";
        </script>
        <script type="script/text" src="http://www.seantburke.com/otherjs.js"></script>
    </body>
</html>

我想从页面中选择所有脚本,包括属性和 innerHTML 作为文本。是否缺少一个简单的 jQuery 函数?

期望的输出:

<script type="script/text"
src="http://www.seantburke.com/j.js"></script><script
type="script/text">$(document).ready({var foo;});</script><script>var
s = "some more javascript here";</script><script type="script/text"
src="http://www.seantburke.com/otherjs.js"></script>

这些是我获得它的尝试,但每次都没有获得所需的输出:

$('script').text() //gives all innerHTML
$('script') //gives an Array of HTMLScriptElement
$('script')[0].outerHTML //gives the outerHTML as a string for only the first element.

最佳答案

var arr = $('script').map(function() {
              return this.outerHTML;
          }).get();

获取每个标签的所有 outerHTML 的数组,如果您想要单个字符串,请使用 arr.join()

关于javascript - jQuery 选择器将所有脚本作为文本关闭页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25252230/

相关文章:

javascript - jQuery 动画回调未按顺序触发

jquery - 如果所有的 div 都没有 Class 做的事情

具有多个选择器的 jQuery .each() - 跳过,然后是 .empty() 元素

javascript - Ref 获取子元素

javascript - 自动/电影滚动文本框效果 CSS/JS

javascript - 获取计数并将它们分组

javascript - 递增/递减 jQuery 影响错误输入

php - 许多许多 css 背景性能

javascript - 如何在ajax请求中将进度条停止在100%?

jquery - 如何对多个过滤器选择器进行分组?