2013-04-30 105 views
0

我在我的html页面中有四个article标签,其中的类col。在每篇文章中,我有一个divheading类。在里面,我有一个img标签。在jQuery中查找标签中的标签并替换内容

我试图遍历每个artcle并删除该图像标记,并用一些不同的html替换。

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

现在,我只是试图找到并取代工作(下) - 我还没有尝试过每篇文章的不同代码。我无法弄清楚为什么以下不起作用。

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

它是一个错字或你忘了关埃尔? $(EL).find ....? – 2013-04-30 00:05:05

+0

不是,它不是,我已经补充说,虽然它仍然调用相同的错误。 – Adam 2013-04-30 00:09:03

回答

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>'); 
}); 
+0

谢谢!这工作,并找到所有的标签。我假设我想为每个找到的新标签找一个不同的标签,我会使用该索引并传入一个数字,所以它找到的第一篇文章的值为0,秒数为1,等等。 – Adam 2013-04-30 00:39:25

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

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

+0

谢谢kcdwayne。我不再有任何错误,但它没有做任何事情。我在那个find语句中正确地搜索标签,还是只是在寻找“标题img”? – Adam 2013-04-30 00:11:58

0

没有与语法的一些问题,

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

应该

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

看到这个小提琴:

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

+0

对不起,我做了一些愚蠢的,编辑删除多余的$(..) – 2013-04-30 00:19:42

相关问题