如果另一个 div 有特定文本,则将 class 添加到 div
Add class to a div if another div has specific text
如果另一个 div .textdiv
有特定文本 [mytext]
,请将 class 添加到 div .thisdiv
。下面的示例:
<div class="textdiv">
<div class="here">
[mytext]
</div>
</div>
然后添加class mytext
:
<div class="thisdiv mytext"> </div> /*Add New class .mytext*/
我的意思是,如果只有 <div class="textdiv">
有文本 [mytext]
,则将 class 添加到 .thisdiv
,这意味着 [ ]
符号很重要。
JS/Jquery 如何做到这一点?
您可以在选择器中使用 contains() ,但这不是完全匹配,它可以匹配元素中的部分文本。又名 "foo" 将匹配 "foo" 或 "food"
//$('.textdiv:contains("\[mytext\]")').addClass("mytext");
if($('.textdiv:contains("\[mytext\]")').length) {
$(".thisdiv").addClass("mytext");
}
.mytext { background-color: yellow; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="textdiv">
<div class="here">
[mytext]
</div>
</div>
<div class="thisdiv">FOO</div>
如果我理解正确的话。
function addTextClass(text,tclass){
if(typeof text == "undefined") return;
if(typeof tclass == "undefined") tclass=text; //Set class to the same as text if class is not specified.
$('.textdiv').each(function(){
if($(this).html().indexOf(text) > 0 )
$('.thisdiv').addClass(class);
});
}
你可以这样称呼它:
addTextClass('mytext');
或
addTextClass('MyText','MyClass');
如果另一个 div .textdiv
有特定文本 [mytext]
,请将 class 添加到 div .thisdiv
。下面的示例:
<div class="textdiv">
<div class="here">
[mytext]
</div>
</div>
然后添加class mytext
:
<div class="thisdiv mytext"> </div> /*Add New class .mytext*/
我的意思是,如果只有 <div class="textdiv">
有文本 [mytext]
,则将 class 添加到 .thisdiv
,这意味着 [ ]
符号很重要。
JS/Jquery 如何做到这一点?
您可以在选择器中使用 contains() ,但这不是完全匹配,它可以匹配元素中的部分文本。又名 "foo" 将匹配 "foo" 或 "food"
//$('.textdiv:contains("\[mytext\]")').addClass("mytext");
if($('.textdiv:contains("\[mytext\]")').length) {
$(".thisdiv").addClass("mytext");
}
.mytext { background-color: yellow; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="textdiv">
<div class="here">
[mytext]
</div>
</div>
<div class="thisdiv">FOO</div>
如果我理解正确的话。
function addTextClass(text,tclass){
if(typeof text == "undefined") return;
if(typeof tclass == "undefined") tclass=text; //Set class to the same as text if class is not specified.
$('.textdiv').each(function(){
if($(this).html().indexOf(text) > 0 )
$('.thisdiv').addClass(class);
});
}
你可以这样称呼它:
addTextClass('mytext');
或
addTextClass('MyText','MyClass');