将原始字符串源转换为html以使用jquery选择器



我有这个源

<div class="page"><h1>First Page </h1></div>

如何将其转换为html并使用类似$('.page')的选择器?我试图将上面的字符串分配给一个变量,然后使用html(),它不起作用。

您可以在HTML中解析您的字符串,之后如果您查看返回的对象,第一行上有一个data属性,它包含格式良好的HTML字符串。

编辑

您可以获得HTML对象属性,而无需将其附加到DOM中。检查我编辑过的代码。

var test = '<div class="page"><h1>First Page </h1></div>';
var testHTML = $.parseHTML(test);
var elemHTML = $(testHTML[0].data);
console.log(elemHTML.text());

你可以试试这个:

var test = '<div class="page"><h1>First Page </h1></div>';
var testHTML = $.parseHTML(test);
$("body").html(testHTML[0].data);
$(".page").css("color","blue");
//Without append element in the DOM
var elemHTML = $(testHTML[0].data);
console.log(elemHTML.text());
//For count number of element you can use a container without append it to the DOM
var container=$("<div></div>");
container.append(elemHTML);
console.log(container.find(".page").length);
.page{
color:red; 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

查看注释,首先我们必须处理实体,然后将结果用作HTML:

// The string
var str = '&lt;div class="page"&gt;&lt;h1&gt;First Page &lt;/h1&gt;&lt;/div&gt;';
// A wrapper element to put it in
var wrapper = $("<body>");
// Process the character entities
wrapper.html(str);
str = wrapper.text();
// Convert the resulting HTML to a structure
wrapper.html(str);
console.log("Text of .page: ", wrapper.find(".page").text());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

为了清晰起见,这是冗长的;这是一个简洁的版本:

var str = '&lt;div class="page"&gt;&lt;h1&gt;First Page &lt;/h1&gt;&lt;/div&gt;';
var wrapper = $("<body>");
wrapper.html(wrapper.html(str).text());
console.log("Text of .page: ", wrapper.find(".page").text());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

您可以使用以下脚本进行

$('.page').html('&lt;div class="page"&gt;&lt;h1&gt;First Page &lt;/h1&gt;&lt;/div&gt;');

var htmlString = '&lt;div class="page"&gt;&lt;h1&gt;First Page &lt;/h1&gt;&lt;/div&gt;';
$('.page').html(htmlString);

Jquery自动将其转换为html

最新更新