只是想做一个真正简单的事情 - 作为一个变量,我得到一个我想改变的字符串。 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应该返回字符串否?谢谢你的帮助。
答案 0 :(得分:1)
您可以使用像
这样的正则表达式组
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;
答案 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);
});