我一直在尝试使用 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 也不起作用,所以我认为我在概念上做了一些错误的事情。有什么解决方案/提示吗?
最佳答案
尝试
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
关于javascript - 替换jquery html对象中的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15673223/