我想知道一个元素是否包含一个数字,无论它有多长。我需要区分单词和数字或其他字符。
<ul>
<li><a href="#">Word</a></li> <!-- this is a word -->
<li><a href="#">1</a></li>
<li><a href="#">2</a></li>
<li><a href="#">...</a></li> <!-- this is a word -->
<li><a href="#">15</a></li>
<li><a href="#">30</a></li>
<li><a href="#">100</a></li> <!-- this is a number -->
<li><a href="#">Word</a></li>
</ul>
答案 0 :(得分:6)
您可以使用isNumeric功能。
$("li a").each(function() {
var num = $(this).text();
if ($.isNumeric(num)) {
$(this).addClass('numb');
} else {
$(this).addClass('noNumb');
}
});
答案 1 :(得分:1)
试一试。使用isNaN
检查它是否为数字。
$( "li a" ).each(function() {
var xc = $(this).text();
var isNum = isNaN(xc);
if (isNum) {
$(this).attr('class', 'numb');
} else {
$(this).attr('class', 'noNumb');
}
});
答案 2 :(得分:0)
如C-link所说,isNumeric ..
$("li a").each(function() {
var toCheck = $(this).text();
if (isNumeric(toCheck)) {
$(this).attr('class', 'is_number');
} else {
$(this).attr('class', 'is_not_number');
}
});
答案 3 :(得分:0)
您也可以使用REGEX
执行此操作Reguler exp' / \ d / '
<强> $(本)的.text()。匹配(/ \ d /)强>
$( "li a" ).each(function() {
var matches = $(this).text().match(/\d/);
if (matches){
$(this).attr('class', 'numb');
}else{
$(this).attr('class', 'noNumb');
}
});
答案 4 :(得分:0)
$( "li a" ).each(function() {
var xc = $(this).text();
if ( $.isNumeric(xc) ) {
$(this).attr('class', 'numb');
} else {
$(this).attr('class', 'noNumb');
}
});