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

时间:2017-01-10 08:29:39

标签: javascript jquery html

我有这个来源

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

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

3 个答案:

答案 0 :(得分:4)

您可以在HTML中解析您的字符串,之后如果您查看返回的对象,则第一行包含格式正确的html字符串的sa data属性

修改

您可以获取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);
&#13;
.page{
 color:red; 
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

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

&#13;
&#13;
// 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());
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;
&#13;
&#13;

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

&#13;
&#13;
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());
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

您可以使用以下脚本

$('.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