[英]Jquery: Get Head and Body Tag Contents from string
我有一個如下字符串:
<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標簽的內容。 有人可以幫忙嗎?
假設您的字符串變量是“s”,那么代碼是:
var html = document.createElement('html');
html.innerHTML = s;
var head = $(html).find('head:first');
var body = $(html).find('body:first');
這里將字符串解析為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>
您也可以使用正則表達式,基本和簡單以及使用的另一個好處是,您也可以獲得任何其他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>
你有沒有考慮嘗試這些jquery表達式。
$('head').html();
$('body').html();
對於組合文本,以下jquery表達式。
$('head').text();
$('body').text();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.