jQuery.parseHTML的反向

时间:2013-11-21 21:23:40

标签: javascript jquery

  1. jQuery.parseHTML()生成一个数组。我正在寻找一种方法将其转换回字符串。这是我的首要问题。

  2. parseHTML()是将字符串视为html的唯一方法吗?

  3. Bassically,我正在将我的字符串解析为html,这样我就可以使用jQuery的find()函数来匹配某个元素,然后只对该部分代码执行替换(参见{{3 }} 更多细节)。那么,解析为必要的HTML吗?

5 个答案:

答案 0 :(得分:2)

  1. jQueryElement.outerHTML();

  2. 没有。您还可以使用jQuery快捷方式:$('<input type="submit" />');

  3. 没有。您也可以尝试字符串操作,但jQuery方法很有可能更容易,更可靠。

答案 1 :(得分:1)

听起来你想要动态构建一些DOM元素。您可以通过将HTML字符串传递给jQuery函数($())来实现。不需要parseHTML()

var mySet = $('<div>blah blah blah<span>some stuff</span></div>');

// perform operations on the set just like you would a regular jQuery set
var divsInMySet = mySet.find('div');

// be aware some functions will return unexpected results since your set exists in memory not on the page
// for example anything related to positioning or visibility will fail
var whoKnows = mySet.position();
var dontDoThis = mySet.is(':visible');

答案 2 :(得分:1)

当我试图在我的页面中从html对象转换回字符串时我无法使用该函数

var my_variable="$("<div></div>");
$("my_variable").html();

然后我发现了使用下面代码执行此操作的技巧。这真的很棘手

示例是否要转换&#34; mySet&#34;从上面的注释变量回到字符串 你可以用这个

 $(mySet).html($(mySet).clone()).html();

答案 3 :(得分:1)

一个简单的功能

function htmlToSource(selector){
 return $('<div />').append($(selector).clone()).html();
};

htmlToSource('body');

答案 4 :(得分:0)

这是解决热门问题的简单方法:

var $html = $($.parseHTML(html));//transform html string into a jQuery element
$html.append('<div id="other_test"></div>');//handling
console.log("string again, but edited", $html.get(0).outerHTML);//converting it to string again