我的html页面中有四个article
标签,其中包含col
类。在每篇文章中,我都有一个div
,其中包含heading
类。在其中我有一个img
标签。
我正在尝试遍历每个artcle并删除该图像标记并替换为一些不同的HTML。
这在Wordpress中,因此是时髦的jquery函数包装器。
现在我只想尝试找到并替换工作(下面) - 我还没有尝试过每篇文章的不同代码。我无法弄清楚为什么以下不起作用。
(function ($) {
$(document).ready(function() {
$('article.col').each(function(el) {
$((el).find('heading img').replaceWith('<newtag>somecode</newtag>'));
});
});
}(jQuery));
答案 0 :(得分:2)
调用each
时,函数值为function(index, element)
。现在,您正在尝试使用$(el)
搜索数字,尝试$(this)
或向您的函数添加其他参数。
此外,课程heading
$('article.col').each(function(index, el) {
$(el).find('.heading img').replaceWith('<newtag>somecode</newtag>');
});
或
$('article.col').each(function() {
$(this).find('.heading img').replaceWith('<newtag>somecode</newtag>');
});
答案 1 :(得分:0)
(function ($) {
$(document).ready(function() {
$('article.col').each(function(el) {
$(this).find('heading img').replaceWith('<newtag>somecode</newtag>');
});
});
}(jQuery));
顺便说一句,jQuery包装器是为了防止使用$符号与其他库发生冲突。
答案 2 :(得分:0)
语法有一些问题,
$(el.find('heading img').replaceWith('<newtag>somecode</newtag>'));
应该是
$(this).find('heading img').replaceWith('<newtag>somecode</newtag>');
看到这个小提琴: