Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用jquery查找具有特定文本的直接父级?_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 如何使用jquery查找具有特定文本的直接父级?

Javascript 如何使用jquery查找具有特定文本的直接父级?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我需要从文档中查找金额字段,如$412341.40 我尝试了$(“div:contains($)”).css(“background color”,“yellow”),但它也返回父div,我只想给子div上色 例如,请参见下图,上面的jquery对div的父级和子级都着色 我怎样才能只给child div上色?我试图找到所有div的,其中包含像$123,55.60字符串 非常感谢您的帮助。这将给您的直系父母带来帮助 $('div>:contains("$")').last().css("b

我需要从文档中查找金额字段,如$412341.40

我尝试了
$(“div:contains($)”).css(“background color”,“yellow”)
,但它也返回父div,我只想给子div上色

例如,请参见下图,上面的jquery对div的父级和子级都着色

我怎样才能只给child div上色?我试图找到所有div的,其中包含像$123,55.60字符串


非常感谢您的帮助。

这将给您的直系父母带来帮助

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

编辑:以上内容仅适用于一次出现的
$
。对于多次出现的文本,请使用以下代码。这将使用
.each()
并每次查找一个结束标记

var divs = $('div>:contains("$")');
divs.each(function() {
    var htmlinner = $(this).html();
    if(htmlinner.indexOf('</div>') == -1) {
        $(this).css("background-color", "yellow");
    }
});
var divs=$('div>:包含($);
divs.each(函数(){
var htmlinner=$(this.html();
if(htmlinner.indexOf(“”)=-1){
$(this.css(“背景色”、“黄色”);
}
});

使用:

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

提供一些标记和JSFIDLE将提高您获得正确答案的机会。您可以始终使用regex查找特定文本。您的答案是完美的,但如果有多个div包含“$”则失败。请检查这个@sandy-好的点。我已经修改了我的代码以说明多次出现的情况,并将其包含在答案中。看看这个演示