2013-04-30 103 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

相關問題