尝试在jsfiddle上练习jQuery。我正在计算div元素中有多少个字母。我做错了什么(我确定很多事情),我使用的是正确的方法吗?
提前致谢:)
编辑:对不起,我并没有真正尝试字符串中有多少个字母,但是我要查询的字母数量是div元素。我想如果我想计算我只会使用.length的字母,但是我不应该使用循环来查看字符串,看看我正在寻找的字母是否在字符串中?
HTML
<div>Hello!</div>
的jQuery
$(document).ready(function() {
var countLetters = function (letter) {
var counter = 0;
for (i = 0; i <= $('div').length; i++) {
if ($('div')[i] == letter) {
counter++;
$('div').append('<p>There are ' + counter + ' ' + letter + 's</p>');
} else {
$('div').append('<p>That letter isn\'t found</p>');
}
}
}
countLetters('e');
});
答案 0 :(得分:0)
您可以使用正则表达式完成检查。
请阅读代码中的注释。
$(document).ready(function() {
var countLetters = function (letter) {
// get the div's text
var divText = $('div').text(),
// create regex that contains the letter only and 'g' modifier to find the all instanses.
regex = new RegExp(letter, 'g'),
// divText.match return an array with all matches so you can get the .length
counter = divText.match(regex).length;
console.log(counter);
// now it's a regular check
if (counter > 0) {
$('div').append('<p>There are ' + counter + ' ' + letter + 's</p>');
} else {
$('div').append('<p>That letter isn\'t found</p>');
}
}
countLetters('e');
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>Heeello!</div>
&#13;