选择HTML文本的特定部分

时间:2017-12-05 14:28:35

标签: javascript jquery html

我有一个函数可以返回一些HTML片段,它存储在一个名为 data 的变量中,具有整个结构。我想要的是从中提取一些这些部分。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script id="hello">

    </script>
</head>
<body>

</body>
</html>

例如,我想获取正文并将其保存在一个新变量中:

var body = data.split("<body")[1].split(">").slice(1).join(">").split("</body>")[0];

其中 data 是原始函数返回的HTML文本,作为字符串

有没有办法可以保存特定的脚本,从它的ID(在这种情况下使用id = hello),并将其保存在另一个变量中?

非常感谢

3 个答案:

答案 0 :(得分:1)

var newVar = $("#hello").html();

答案 1 :(得分:1)

假设您在变量中有一个HTML字符串,例如

var foo = '<body><span>bar</span></body>';

现在,让我们初始化一个解析器,将其转换为HTML:

var parser = new DOMParser();
var doc = parser.parseFromString(foo, "text/html");

现在,您可以阅读foo中的任何内容,因为它已转换为HTML:

document.getElementsByTagName("body")[0].innerHTML = doc.querySelectorAll("body")[0].innerHTML;

答案 2 :(得分:0)

&#13;
&#13;
$html = document.querySelector("body").innerHTML;
$hello = document.getElementById("hello").innerHTML;
console.log($html);
console.log($hello);
&#13;
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script id="hello">
        // script data
    </script>
</head>
<body>

</body>
</html>
&#13;
&#13;
&#13;