【发布时间】:2013-12-06 15:06:06
【问题描述】:
嗯,我有一个 Javascript 函数,它返回我写入文本区域的单词数,但由于某些原因,我想使用 Jquery 编写它。而且,虽然我试过了,但我没有成功,所以这就是我在这里的原因,如果你能帮助我,我将非常非常感激。
这是 Javascript:
function contar() {
palabras = 1;
if (document.data.texto.value.length === '') palabras = 0;
for (count = 0; count < document.data.texto.value.length; count++) {
if (document.data.texto.value.substring(count, count + 1) == ' ') palabras++;
}
document.data.cuenta.value = palabras;}
这是我制作的 jQuery:
(function () {
var palabras = 1;
if ($("[name=data] textarea[name=texto]").val().length === "") {
palabras = 0;
}
for (i = 0; i < $("[name=data] textarea[name=texto]").val().length; i++) {
if ($("[name=data] textarea[name=texto]").val().substring(i, i + 1) == ' ')) {
palabras++;
}
}
});
最后,这是我用来显示它的 HTML:
<form name="data">
<textarea name="texto" cols="40" rows="4" onkeyup="contar()" onkeypress="contar()"></textarea>
<br>
<input type="Text" name="cuenta" size="3" maxlength="3">
</form>
【问题讨论】:
-
.length是整数,而不是字符串,所以.length === ""不起作用。 -
现在还不算字数,是吗?
-
只计算空格还是需要忽略多空格?
-
关于这一行:
if (document.data.texto.value.length === '')长度如何等于空字符串?您应该使用document.getElementById函数访问您的节点,这样更实用; -
[重复] 标记毫无意义。主要问题是计算 words 而不是 characters。此问题在建议的重复问题中没有解决方案。
标签: javascript jquery