2016-08-04 63 views
0

我想将div的文本复制到其类中。我已经得到了下面的代码,但它复制了所有兄弟分区的文本,但我只希望当前div的文本是它的类。设置div类以匹配其文本

像下面的代码将副本“我是亚历克斯你好”作为一个类的代码下面的div,我想第一个div应该只有类“我是亚历克斯”,同样下一类应该只有一个上课“你好吗”。

<div class="someText">I am alex</div> 
<div class="someText">How are you</div> 

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js" type="text/javascript"></script> 
<script> 
    var classes = $(".someText").text().replace(/[, -- .]/g," "); 
    $(".someText").addClass(classes); 
</script> 

回答

2

这是一个非常奇怪的要求,但你可以通过一个函数来addClass(),这样实现它:

$('.someText').addClass(function() { 
 
    return $(this).text(); 
 
});
.am { 
 
    color: blue; 
 
} 
 
.are { 
 
    color: red; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="someText">I am alex</div> 
 
<div class="someText">How are you</div>

+0

谢谢老兄!你能不能请告诉我,我怎样才能替换“,”与文本中的“和”没有任何空格。 其实我是在这个功能之后,如果你能帮我... http://codepen.io/desandro/pen/pJPwpy –

+0

'$(this).text()。replace(',',' ').replace('和','');'。没问题,很高兴帮助 –

+0

不,并且正在从字符串中的任何地方取代a,n和d。 –

0

你会通过每个格需要循环。

$(function() { 
 
    $('div.someText').each(function() { 
 
    var classes = $(this).text().replace(/[, -- .]/g, " "); 
 
    $(this).addClass(classes); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="someText">I am alex</div> 
 
<div class="someText">How are you</div>

+0

谢谢,我该如何设置数据过滤器=“。价值”为一个按钮相同的方式? –

0

这是你想要什么?

var divs = $(".someText"); 
 
for (var i = 0; i < divs.length; i++) { 
 
    $(divs[i]).addClass($(divs[i]).text().replace(/[, -- .]/g," ")); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="someText">I am alex</div> 
 
<div class="someText">How are you</div>