Html 如何将样式应用于即时标记而不是文本之后
我有点担心,我如何才能添加样式,只有直接的孩子,而不是后面的一些纯文本 前 我的结构如下: 一, 如果我添加ul规则,则该规则不适用。如果我设置了背景,那么就不应该在这里应用,因为它在ul-plain-txt-lorm-ipsum之前有一些文本 和2 如果我添加ul规则,则应适用于此ul,因为之前没有文本 我没有任何css选择器,希望将样式应用到ul IMMENTED到div,如第2个示例所示,而不是如第1个示例所示。我的意思是,在第一个ex.InsideDiv中有一些文本,然后是ul。在这种情况下,不应应用样式,并且在第二个ul直接应用于div的情况下,样式应仅应用于第一个ul 我试过div>ul:first child,但这两种情况都适用Html 如何将样式应用于即时标记而不是文本之后,html,css,Html,Css,我有点担心,我如何才能添加样式,只有直接的孩子,而不是后面的一些纯文本 前 我的结构如下: 一, 如果我添加ul规则,则该规则不适用。如果我设置了背景,那么就不应该在这里应用,因为它在ul-plain-txt-lorm-ipsum之前有一些文本 和2 如果我添加ul规则,则应适用于此ul,因为之前没有文本 我没有任何css选择器,希望将样式应用到ul IMMENTED到div,如第2个示例所示,而不是如第1个示例所示。我的意思是,在第一个ex.InsideDiv中有一些文本,然后是ul。在这种情
简而言之,如果div和ul之间有任何文本,样式不应适用于ul您可以检查div是否有即时文本,然后决定是否添加样式,如:
$("div").each(function(){
if( $(this).clone().children().remove().end().text().trim() !== ""){
console.log('Do not add style');
}else{
console.log('Add style');
}
});
希望这有帮助
纯JS解决方案:
var divs=document.queryselectoral'div';
对于var i=0;i换句话说,如果是的第一个子项,则只希望应用CSS,而不希望在两者之间有任何文本?是否使用jQuery?您可以使用类型的第一个。选中answerNo jquery@Ihazkode,仅限纯css。@j08691是的,你是对的。在这个问题上,我没有看到JavaScript标记,更不用说jquery了。我的意思是在第一个ex中。在div中有一些文本,然后是ul。在这种情况下,样式不应应用。样式应应用于第一个ul,而不是second@mukund你的要求对吗?请解释一下你为什么这么做。事实上,我想要第一个答案。在你的情况下,它适用于所有ul,这是错误的。反过来说。意思是,应该只对ul应用样式,而不是从文本开始。我给出了两种不同的场景,都是不同的情况。第一个场景和第二个场景-没有前面的文本,如问题所示。样式应仅适用于第二种方案。同样的风格对第一场景应该没有影响,这是不正确的。我给出了两种情况。您的代码只适用于第一个div,但也适用于错误的div。样式不应应用于第一个。应适用于第二种情况,其中ul没有前面的文本。
<div>
<ul><li>test content</li></ul>
<ul><li>test content</li></ul>
</div>
$("div").each(function(){
if( $(this).clone().children().remove().end().text().trim() !== ""){
console.log('Do not add style');
}else{
console.log('Add style');
}
});