我有一个如下字符串:
<head>
This is the Head
</head>
<body>
<div>
<div>
<p> Body Content <br /></p>
<p> Hello World <br /></p>
</div>
</div>
</body>
它有头部和身体标签。现在我想要使用jquery的head标签和body标签的内容。有人可以帮忙吗?
答案 0 :(得分:1)
假设您的字符串变量为“s”,那么代码为:
var html = document.createElement('html');
html.innerHTML = s;
var head = $(html).find('head:first');
var body = $(html).find('body:first');
答案 1 :(得分:0)
这里将字符串解析为html对象,然后您就可以访问这些元素。
这是相同的代码
var str = "<head>This is the Head</head><body><div><div><p> Body Content <br /> </p><p> Hello World <br /></p> </div></div></body>";
//This will parse the string to HTML
var htmlString = $.parseHTML(str);
//To get the Body content
console.log(htmlString[1].innerHTML);
//To get the HTML Tag Content
console.log(htmlString[0].data);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
答案 2 :(得分:0)
你也可以使用正则表达式,基本和简单以及使用它的另一个好处是你也可以获得任何其他的html。请找到以下代码:
var html = '<head>\
This is the Head\
</head>\
<body>\
<div>\
<div>\
<p> Body Content <br /></p>\
<p> Hello World <br /></p>\
</div>\
</div>\
</body>';
var reg = /\<head[^>]*\>([^]*)\<\/head/m;
var head = html.match( reg )[1];
var reg2 = /\<body[^>]*\>([^]*)\<\/body/m;
var body = html.match( reg2 )[1];
document.getElementById("Head").innerHTML = head;
document.getElementById("body").innerHTML = body;
.head{
border:1px solid red;
}
.body{
border:1px solid red;
}
<div class="head">
<h1>
Heading
</h1><br />
<div id="Head">
</div>
</div> <br />
<div class="body">
<h1>
Body
</h1> <br />
<div id="body">
</div>
</div>
答案 3 :(得分:-1)
您是否考虑过尝试使用这些jquery表达式。
$('head').html();
$('body').html();
用于组合文本以下jquery表达式。
$('head').text();
$('body').text();