中,向頂層元素添加一個類我有div內的div。大約3或4級深度我有一個包含P標籤的div,其中包含span標籤。我需要添加一個額外的類到一個已經存在的類更高的div,並基於它或不是我的嵌套跨度包含特定的字符串。如果一個字符串深嵌在
這裏是我的html代碼:pastebin.com link
我需要檢查自己的嵌套span元素,看它是否包含字符串「十一」,如果這樣的附加類的「十一」添加到頂部的div已有一類「事件數據」。
中,向頂層元素添加一個類我有div內的div。大約3或4級深度我有一個包含P標籤的div,其中包含span標籤。我需要添加一個額外的類到一個已經存在的類更高的div,並基於它或不是我的嵌套跨度包含特定的字符串。如果一個字符串深嵌在
這裏是我的html代碼:pastebin.com link
我需要檢查自己的嵌套span元素,看它是否包含字符串「十一」,如果這樣的附加類的「十一」添加到頂部的div已有一類「事件數據」。
如果包含字符串是el
跨度,那麼你可以這樣設置父類:
$(el).parents(".event_data").last().addClass("October")
這裏的關鍵是,.parents(sel)
將返回給定的選擇相匹配的所有父母,他們返回從最接近母鏈的距離最遠。然後,.last()
選擇最後一個(父鏈最遠),然後addClass()
將所需的類添加到剩餘的父對象。
如果您還需要幫助查找文本的跨度和測試,那麼您需要提供關於如何識別要爲文本測試的跨度的更多指導。
你的地方去尋找文字說明還是有點朦朧和非特異性的,但這裏的做這件事的一種方法:
$('p[id^="event_date-"]:contains(October)')
.parents(".event_data").last().addClass("October");
而且,你可以看到它的工作在這裏你的HTML:http://jsfiddle.net/jfriend00/Pp8gw/
說明:
p
標籤有一個id啓動與"event_date-"
p
標籤,發現文本"October"
"event_data"
"October"
添加到祖先我希望我什麼也沒忘記
var span=$("p>span");
for(var i=0;i<span.length;i++) {
if(span[i].text().indexOf("october") >= 0)) {
span[i].parents("div.event-data").addClass("October");
}
}
這似乎沒有工作。下面的例子。 – BrettGolding
你說得對。試試這個請。 – Oliver
我不明白什麼(el)是我從未遇到過的。 – BrettGolding
@BrettGolding - 'el'是包含文本的跨度的DOM引用。正如我在我的回答中所說的,如果你需要尋找跨度的幫助,那麼你需要給我們一些指導,幫助我們找出尋找文本的跨度。你有很多不同的跨度,不要只看你的頁面中的任何跨度。 – jfriend00
跨度有一節的標題 – BrettGolding