2017-05-08 46 views
0

我知道也許不能這樣做 例:的js如何通過自身的價值定義元素

<div class="dv1"> 
     <span correct="sp1"> D </span> 
     <span correct="sp2"> C </span> 
     <span correct="sp3"> Z </span> 
</div> 

我可以這樣定義:

$(".dv1 span[correct=sp2]").addClass("active"); 

我想這樣的另一種方式:

$(".dv1 span[text=C]").addClass("active"); 

所以也許有其他的方法做同樣的權利?謝謝 !

+0

[jquery find text by text]可能重複(http://stackoverflow.com/questions/7321896/jquery-find-element-by-text) – showdev

回答

1

做這樣的:

$('.dv1 span').filter(function(index) { return ($(this).text()).trim() === "D"? $(this) : false; });

var element = $('.dv1 span').filter(function(index) { return ($(this).text()).trim() === "D"? $(this) : false; }); 
 
element.addClass('active')
.active{ 
 
    color: red 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="dv1"> 
 
     <span correct="sp1"> D </span> 
 
     <span correct="sp2"> C </span> 
 
     <span correct="sp3"> Z </span> 
 
</div>

0

,你可以這樣做:

$(".dv1 span").each(function(){ 
    if($(this).text().trim() == 'C'){ 
     $(this).addClass('active'); 
    } 
    }) 
0

我不知道第二個方式工作。這裏有另一種方法:

$(".dv1").find('span[correct=sp2]').addClass("active"); 

here正在工作。

相關問題