所以,我必须得到textarea的HTML并检查它是否包含换行符。如何查看它是否包含\n
,因为使用val()
返回的字符串不包含\n
,我无法检测到它。我尝试使用.split("\n")
,但它给出了相同的结果。怎么办呢?
一分钟,IDK为什么当我将\n
添加到textarea作为值时,它会中断并移动到下一行。
答案 0 :(得分:34)
HTML中的换行符不由\n
或\r
表示。它们可以通过多种方式表示,包括<br>
元素,或者跟随另一个元素的任何块元素(例如<p></p><p></p>
)。
如果您使用的是textarea
,则可能会找到\n
或\r
(或\r\n
)的换行符,因此:
var text = $("#theTextArea").val();
var match = /\r|\n/.exec(text);
if (match) {
// Found one, look at `match` for details, in particular `match.index`
}
...但这只是textarea
,而不是一般的HTML元素。
答案 1 :(得分:6)
var text = $('#total-number').text();
var eachLine = text.split('\n');
alert('Lines found: ' + eachLine.length);
for(var i = 0, l = eachLine.length; i < l; i++) {
alert('Line ' + (i+1) + ': ' + eachLine[i]);
}
答案 2 :(得分:1)
你可以简单地使用这个
var numberOfLineBreaks = (enteredText.match(/\n/g)||[]).length;