我一直在尝试使用jquery将函数应用到每个html标记中,并在html对象中导入一些类(从文件导入),但我无法使其工作。我已经查看了SE上的其他几个问题,但无法找到解决问题的方法。
html变量在我的实际用例中包含更多代码,但是这个
html = '<pre class = "classy"> text </pre>'
$(html).find('.classy').each( function (x) {
$('<pre class = "classy">' + '<h1>' + x + '<h1>' + '</pre>')
})
'<pre class = "classy"> text </pre>'
其中预期输出更像是
'<pre class = "classy"> <h1> text </h1> </pre>'
.replaceWith也没用,所以我认为我做的事情在概念上是错误的。任何解决方案/提示?
答案 0 :(得分:2)
尝试
var html = '<pre class = "classy"> text </pre>';
var a = $(html);
a.filter('.classy').each( function (i, x) {
$(x).wrapInner('<h1></h1>');
})
此处变量a
将包含预期内容<pre class = "classy"> <h1> text </h1> </pre>
。
演示:Fiddle
在给定的值下,它甚至可以简化为
var a = $(html);
a.each( function (i, x) {
$(x).wrapInner('<h1></h1>');
})
演示:Fiddle
注意:如果您希望a
的内容为html字符串
var html = $('<div>').append(a.clone()).html();
演示:Fiddle