0

我一直在尝试使用 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 也不起作用,所以我认为我在做一些概念上的错误。任何解决方案/提示?

4

1 回答 1

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>

演示:小提琴

在给定的值下,它甚至可以简化为

var a = $(html);
a.each( function (i, x) { 
    $(x).wrapInner('<h1></h1>');
})

演示:小提琴

注意:如果您希望内容a为 html 字符串

var html = $('<div>').append(a.clone()).html();

演示:小提琴

于 2013-03-28T02:33:52.077 回答