Jquery 查找具有特定文本的div的子级
我有一个盒子,一个div,里面有三个孩子,显示为三个不同的单词Jquery 查找具有特定文本的div的子级,jquery,css,Jquery,Css,我有一个盒子,一个div,里面有三个孩子,显示为三个不同的单词 --------- | Red | Green | Blue -------- 无论如何,我想把红色的文本改成红色。但是,我不知道如何访问这个特定的孩子。我试过 $("#target :contains("Red")").children().css("color", "red"); 但是,这会将它们全部更改为红色。我显然没有正确使用contains。这会更改包含颜色的div的颜色。我看不出你用html做了什么,所以我不能
---------
| Red
| Green
| Blue
--------
无论如何,我想把红色的文本改成红色。但是,我不知道如何访问这个特定的孩子。我试过
$("#target :contains("Red")").children().css("color", "red");
但是,这会将它们全部更改为红色。我显然没有正确使用
contains
。这会更改包含颜色的div的颜色。我看不出你用html做了什么,所以我不能告诉你你的代码出了什么问题
红色
绿色
蓝色
$('div:contains(“Red”)).css('color','Red');
$('div:contains(“Green”)).css('color','Green');
$('div:contains(“Blue”)).css('color','Blue');
这会更改包含颜色的div的颜色。我看不出你用html做了什么,所以我不能告诉你你的代码出了什么问题
红色
绿色
蓝色
$('div:contains(“Red”)).css('color','Red');
$('div:contains(“Green”)).css('color','Green');
$('div:contains(“Blue”)).css('color','Blue');
尝试css伪元素
#target > div:nth-child(1){color:red}
#target > div:nth-child(2){color:green}
#target > div:nth-child(3){color:blue}
jQuery解决方案
$( "#target div:contains('Red')" ).css( "color", "red" );
您需要引用包含特定文本的子div
尝试css伪元素
#target > div:nth-child(1){color:red}
#target > div:nth-child(2){color:green}
#target > div:nth-child(3){color:blue}
jQuery解决方案
$( "#target div:contains('Red')" ).css( "color", "red" );
您需要引用包含特定文本的子div
1)我想您的代码的主要问题是没有正确使用引号。请看下面的代码:
$("#target :contains("Red")")
不能将带引号的字符串嵌套在另一个被引号包围的字符串中。您应该使用撇号或引号
$("#target :contains('Red')")
<强> 2)< /强>第二件要考虑的是<> > >目标> <代码>和<代码>之间的空间:包含。如果您的HTML与此类似:
<div id="target">
Red
<span>This text will be read.</span>
<span>This text will be read.</span>
</div>
但是如果您的HTML与此类似(请注意额外的div):
1)我想您的代码的主要问题是没有正确使用引号。请看下面的代码:
$("#target :contains("Red")")
不能将带引号的字符串嵌套在另一个被引号包围的字符串中。您应该使用撇号或引号
$("#target :contains('Red')")
<强> 2)< /强>第二件要考虑的是<> > >目标> <代码>和<代码>之间的空间:包含。如果您的HTML与此类似:
<div id="target">
Red
<span>This text will be read.</span>
<span>This text will be read.</span>
</div>
但是如果您的HTML与此类似(请注意额外的div):
如果您想使用jQuery实现这一点。。。然后你必须拆分单词并用一些html代码替换它。。。我试着这么做。。。请检查下面的小提琴 HTML
<div id="target" style=" width: 155px; height: 150px; float: left; border: 1px solid rgb(119, 119, 119); margin: 10px; padding: 5px; background: rgb(204, 204, 204);">#target
<br>
<br>
<span>
red
<br>
blue
<br>
green
</span>
</div>
<br>
<button class="change">
Change
</button>
#目标
红色
蓝色
绿色
改变
JQUERY
$(document).ready(function() {
$('.change').on('click', function() {
var str = $('#target span').html();
console.log(str);
var words = str.split("<br>");
var clr = ['red', 'blue', 'green'];
var n = '';
console.log(words);
for (var i = 0; i <= words.length - 1; i++) {
words[i] += " ";
var m = words[i].replace(clr[i], '<br><span style=\'color:' + clr[i] + '\'>' + clr[i] + '</span>')
n += m;
}
$('#target').children().remove();
$('#target').append('<br>' + n);
});
});
$(文档).ready(函数(){
$('.change')。在('click',function()上{
var str=$('#target span').html();
console.log(str);
var words=str.split(“
”);
var clr=[“红色”、“蓝色”、“绿色”];
var n='';
控制台日志(文字);
对于(var i=0;i如果您想使用jQuery进行此操作,那么您必须拆分单词并用一些html代码替换它…我尝试过这样做…请检查以下内容
HTML
<div id="target" style=" width: 155px; height: 150px; float: left; border: 1px solid rgb(119, 119, 119); margin: 10px; padding: 5px; background: rgb(204, 204, 204);">#target
<br>
<br>
<span>
red
<br>
blue
<br>
green
</span>
</div>
<br>
<button class="change">
Change
</button>
#目标
红色
蓝色
绿色
改变
JQUERY
$(document).ready(function() {
$('.change').on('click', function() {
var str = $('#target span').html();
console.log(str);
var words = str.split("<br>");
var clr = ['red', 'blue', 'green'];
var n = '';
console.log(words);
for (var i = 0; i <= words.length - 1; i++) {
words[i] += " ";
var m = words[i].replace(clr[i], '<br><span style=\'color:' + clr[i] + '\'>' + clr[i] + '</span>')
n += m;
}
$('#target').children().remove();
$('#target').append('<br>' + n);
});
});
$(文档).ready(函数(){
$('.change')。在('click',function()上{
var str=$('#target span').html();
console.log(str);
var words=str.split(“
”);
var clr=[“红色”、“蓝色”、“绿色”];
var n='';
控制台日志(文字);
对于(var i=0;我也可以发布html部分?我实际上不能。这是我在网上发现的一个实践问题,我实际上不应该知道html是什么。网站的链接在这里…(所以人们不认为它是硬件)每种颜色都必须有一个不同的标签。这样的效果也适用于你可以发布html部分吗?我实际上不能。这是我在网上发现的一个实践问题,我实际上不应该知道html是什么。网站的链接在这里…(所以人们不认为它是硬件)每种颜色都有不同的标签。因此,这种效果将适用于它。不,你没有,因为它工作正常。看到这把小提琴。@BikasVaibhav这里是我测试它的地方,提供了一个解决方案,但我想知道如何在不替换HTMLB的情况下完成它,因为这个问题与你提出的问题完全不同。它是带有
标记的单个跨距。因此,由于它包含红色/蓝色/绿色的all,因此需要先取后取apply@BikasVaibhav如果不替换html,就没有办法做到这一点?比如使用过滤器过滤掉一个特定的单词?你必须用一些标记来包装每个单词。寻找它。如果你需要帮助,请告诉我,我会创建fiddleNo你没有,因为它工作正常。看看这个小提琴。@BikasVaibhav这里是我测试它的地方,提供了一个解决方案,但我想知道如何在不替换HTMLB的情况下完成它,因为这个问题与你所问的完全不同。它是一个带有
标记的单跨距。因此,因为它包含红色/蓝色/绿色好吧,首先,然后apply@BikasVaibhav如果不替换html,就没有办法做到这一点?比如使用过滤器过滤掉一个特定的单词?你必须用一些标记来包装每个单词。寻找它。如果你需要帮助,请告诉我,我会创建小提琴。他想根据里面的文本而不是元素来更改颜色t位置。他希望根据内部文本而不是元素位置进行颜色更改。要在该实践站点中使用,请复制粘贴以下代码…它可以使用JQUERY$(document).ready(function(){var str=$('#target span').html();console