gpt4 book ai didi

css - 无法选择子元素

转载 作者:行者123 更新时间:2023-11-28 09:32:14 25 4
gpt4 key购买 nike

.test .par:first-child .test1 .test2 {
color: red;
}
<div class="test">
<p>test</p>
<p>testable</p>
<p class="par">
This is <i class="test1"> dsd <i class="test2">red</i>text.</i> test
</p>
<p class="par">
This is <i class="test1"> dsd <i class="test2">shouldn't changed</i> text.</i> test
</p>
</div>

在上面的代码中,我想做的是为第一类 test2 应用一个 css,但我做不到。那个CSS没有做这件事。请帮忙。

更新

注意:父div 元素中的p 元素是动态生成的。这意味着有时在第一个 test2 元素之前有更多的 p 元素,有时 test2 元素是来自父元素的第一个元素。

最佳答案

容器 .test 包含 4 个 p 元素,因此您定位的元素不是第一个子元素,而是第三个。相反,您可以这样做:

.test .par:nth-child(3) .test1 .test2 {
color: red;
}

/*
Or simply
.test p:nth-child(3) .test1 .test2 {
color: red;
}
*/
<div class="test">
<p>test</p>
<p>testable</p>
<p class="par">
This is
<i class="test1">
dsd
<i class="test2">red</i> text.
</i>
test
</p>
<p class="par">
This is
<i class="test1">
dsd
<i class="test2">shouldn't changed</i> text.
</i>
test
</p>
</div>

更新

如果 p 元素是动态生成的,您将无法选择具有当前 HTML 结构的 .test2 元素(除非您能够更改它)。我们也可以考虑使用 nth-of-type.test2 在两个 p 元素中都在相同的范围内。

顺便说一句,如果有兴趣,这里有一个非 CSS 解决方案:

$('.par').eq(0).find('.test2').css('color','red');

//to only consider test2 you can simply use :
//$('.test2').eq(0).css('color','red');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="test">
<p>test</p>
<p>testable</p>
<p class="par">
This is
<i class="test1">
dsd
<i class="test2">red</i> text.
</i>
test
</p>
<p class="par">
This is
<i class="test1">
dsd
<i class="test2">shouldn't changed</i> text.
</i>
test
</p>
</div>

关于css - 无法选择子元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47813954/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com