Js如何按值自定义元素

时间:2017-05-08 17:22:18

标签: jquery dom

我知道也许不能这样做 例如:

 <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");

那么也许还有其他方法可以做同样的事情吗?谢谢!

3 个答案:

答案 0 :(得分:1)

这样做:

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

&#13;
&#13;
var element = $('.dv1 span').filter(function(index) { return ($(this).text()).trim() === "D"? $(this) : false; });
element.addClass('active')
&#13;
.active{
   color: red
}
&#13;
<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>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

你可以这样做:

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

答案 2 :(得分:0)

我不确定第二种方式是否有效。这里有另一种方式:

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

here正在发挥作用。