2014-01-24 97 views
1

我有要求在哪裏我想從文檔中找到金額字段,如$ 412,341.40。如何使用jquery查找具有特定文本的直接父項?

我試過$("div:contains($)").css("background-color","yellow")但它返回父div的也,我只是想給孩子的顏色。

例如看到下面的圖像,上述jquery着色div的父母和孩子。 enter image description here

我怎樣才能給孩子div上色?我試圖找到所有包含$ 123,55.60字符串的div。

任何幫助,非常感謝。

+0

提供了一些標記和的jsfiddle會提高你獲得一個正確的答案 – Xotic750

+0

您可以隨時使用正則表達式來查找特定文本的機會, http://regexpal.com/。 –

回答

3

這會給你的直接父母。

$('div>:contains("$")').last().css("background-color","yellow") 

JSFIDDLE DEMO

編輯:上面的代碼將只出現一次的$工作的偉大。對於多次出現的文字,請使用下面的代碼。這使用.each()並且每次都查找一個關閉</div>標籤。

var divs = $('div>:contains("$")'); 
divs.each(function() { 
    var htmlinner = $(this).html(); 
    if(htmlinner.indexOf('</div>') == -1) { 
     $(this).css("background-color", "yellow"); 
    } 
}); 

JSFIDDLE DEMO[2] for multiple occurrences

+0

你的答案是完美的,但當有多個div包含「$」時失敗。請檢查http://jsfiddle.net/BvdK7/2/ – SFIntegrator

+0

@sandy - 好點。我修改了我的代碼來記錄多個事件並將其包含在答案中。看看這個演示http://jsfiddle.net/BvdK7/7/ – Krishna

0

使用:

$("div:contains('$')").find('div').css("background-color","yellow") 
相關問題