0

article我的 html 页面中有四个带有 class 的标签col。在每篇文章里面我都有一个divwith class heading。在里面我有一个img标签。

我正在尝试遍历每个文章并删除该图像标签并替换为一些不同的 html。

这在 Wordpress 中,因此是时髦的 jquery 函数包装器。

现在我只是试图让查找和替换工作(如下) - 我还没有尝试为每篇文章使用不同的代码。我无法弄清楚为什么以下不起作用。

(function ($) {
  $(document).ready(function() {
    $('article.col').each(function(el) {
      $((el).find('heading img').replaceWith('<newtag>somecode</newtag>'));  
    });
  });
 }(jQuery));
4

3 回答 3

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>');  
});
于 2013-04-30T00:14:37.867 回答
0
(function ($) {
  $(document).ready(function() {
    $('article.col').each(function(el) {
       $(this).find('heading img').replaceWith('<newtag>somecode</newtag>');  
   });
  });
 }(jQuery));

顺便说一句,jQuery 包装器是为了防止使用 $ 符号与其他库发生冲突。

于 2013-04-30T00:07:07.020 回答
0

语法有一些问题,

$(el.find('heading img').replaceWith('<newtag>somecode</newtag>')); 

应该

$(this).find('heading img').replaceWith('<newtag>somecode</newtag>'); 

看到这个小提琴:

http://jsfiddle.net/5bEq7/1/

于 2013-04-30T00:13:10.183 回答