2014-01-24 58 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") 
相关问题