使用jquery改变简单字符串

时间:2015-09-29 09:52:19

标签: jquery

只是想做一个真正简单的事情 - 作为一个变量,我得到一个我想改变的字符串。 HTML

<div id="body" class="abc cde fgh xxx-23">text</div>

jquery的

if ($("#body").hasClass("cde")) {
    var clasa = $('#body').attr('class').match(/\bxxx-.+?\b/);
    var arr = clasa.replace('xxx', '');
    alert(arr);
}

警报没有给我什么。我只想显示这个数字。我做错了什么? .attr应该返回字符串否?谢谢你的帮助。

3 个答案:

答案 0 :(得分:1)

您可以使用像

这样的正则表达式组

&#13;
&#13;
if ($("#body").hasClass("cde")) {
    var value = $('#body').attr('class').match(/\bxxx-(\d+)\b/)[1];
    alert(value);
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="body" class="abc cde fgh xxx-23">text</div>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

尝试使用以下代码。

if ($("#body").hasClass("cde")) {
    var clasa = $('#body').attr('class').match(/\bxxx-.+?\b/);
    var arr = clasa[0].replace('xxx', '');
    alert(arr);
}

答案 2 :(得分:0)

你在比赛中犯了错误()

如果您只想读取该字符串中的数字,请使用

$(document).ready(function(){
var clasa = $('#body').attr('class').match(/[0-9]+$/);
alert(clasa);
var arr = clasa.replace('xxx', '');
alert(arr);

});

如果您想阅读整数xxx-23,请使用以下

$(document).ready(function(){
var clasa = $('#body').attr('class').match(/xxx-[0-9]+$/);
alert(clasa);
var arr = clasa.replace('xxx', '');
alert(arr);

});