我有三個TD,並試圖將每個中的功能限制爲只有該TD。我該怎麼做呢?有了這個代碼,它採取所有3個圖像和插入所有的人都在H2前:jQuery - 範圍內的「每個」?
jQuery("td.frontpage_news").each(function() {
jQuery("span.frontpage_news p:first-child").has("a img").insertBefore("h2.contentheading.frontpage_news"); });
我有三個TD,並試圖將每個中的功能限制爲只有該TD。我該怎麼做呢?有了這個代碼,它採取所有3個圖像和插入所有的人都在H2前:jQuery - 範圍內的「每個」?
jQuery("td.frontpage_news").each(function() {
jQuery("span.frontpage_news p:first-child").has("a img").insertBefore("h2.contentheading.frontpage_news"); });
您可以使用$(this)
得到目前正在each
處理的元素 - 與find使用結合該對象將允許您限定您的通話範圍:
jQuery("td.frontpage_news").each(function() {
var $that = jQuery(this);
var $thatHeading = $that.find("h2.contentheading.frontpage_news");
$that.find("span.frontpage_news p:first-child")
.has("a img").insertBefore($thatHeading );
});
此處假定內容標題和首頁新聞項是td的子項。
你可以做到這一點,而不使用每個。 只要使用此:
jQuery("td.frontpage_news span.frontpage_news p:first-child").has("a img").insertBefore("h2.contentheading.frontpage_news");
如果你真的需要使用每個然後提供this
上下文jQuery的搜索withn
jQuery("td.frontpage_news").each(function() {
jQuery("span.frontpage_news p:first-child", this).has("a img").insertBefore("h2.contentheading.frontpage_news");
});
試試這個:
jQuery("h2.contentheading.frontpage_news").before(jQuery("td.frontpage_news span.frontpage_news p:first-child").has("a img"));
它仍然在插入前所有h2的。我可以做同樣的$這限制h2嗎?像'insertBefore(this).find(「h2.contentheading.frontpage_news」);' – lee
我認爲你的最新代碼工作。我在'each'裏面試過:'jQuery(this).find(「span.frontpage_news p:first-child」)。has(「img」)。insertBefore(this).find(「h2.contentheading.frontpage_news 「); \t ',但由於某種原因,它將它插入h2(同級到td)以上的某個級別。 – lee