jQuery.parseHTML()
生成一个数组。我正在寻找一种方法将其转换回字符串。这是我的首要问题。
parseHTML()
是将字符串视为html的唯一方法吗?
Bassically,我正在将我的字符串解析为html,这样我就可以使用jQuery的find()
函数来匹配某个元素,然后只对该部分代码执行替换(参见{{3 }} 更多细节)。那么,解析为必要的HTML吗?
答案 0 :(得分:2)
jQueryElement.outerHTML();
没有。您还可以使用jQuery快捷方式:$('<input type="submit" />');
没有。您也可以尝试字符串操作,但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