【发布时间】:2015-07-24 19:23:19
【问题描述】:
我正在尝试使用纯 javascript 计算 textarea 行,但我不确定为什么我的 selector.rows 没有返回正确的行数 :(
这是我的 js:
var selector = document.querySelectorAll("textarea");
for(i = 0; i < selector.length; i++){
var array = selector[i];
var count = array.rows;
console.log(array, count);
if(count > 1 && count.scrollHeight < count.offsetHeight){
count--
console.log(array.rows);
}else{
count++
console.log(array.rows);
}
}
【问题讨论】:
-
它在 chrome 中工作。
-
@Grimbode 不,不工作......
-
你想获取文本框的行数吗?或文本框内的文本占据的行数?您的代码适用于第一个代码(返回 textarea 中属性
rows的值) -
该代码中有(至少)一个错误:变量
count是一个数字,而不是一个对象/元素。您不能将scrollHeight或offsetHeight应用于它,它会为这些值返回undefined。这将使条件始终通过else。您应该改用array变量:array.scrollHeight和array.offsetHeight -
好。我找到了一个解决方案,我正在写它作为答案。我会尽快发布的
标签: javascript html rows