Javascript 如何使用jquery查找具有特定文本的直接父级?
我需要从文档中查找金额字段,如$412341.40 我尝试了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
$(“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-好的点。我已经修改了我的代码以说明多次出现的情况,并将其包含在答案中。看看这个演示