jQuery를 사용하고 있으며 val () 또는 text () (또는 다른 메서드)를 사용하여 textarea의 내용을 읽고 업데이트해야하는지 궁금합니다.
나는 둘 다 시도했고 둘 다 문제가 있습니다. text ()를 사용하여 텍스트 영역을 업데이트하면 줄 바꿈 (\ n)이 작동하지 않습니다. val ()을 사용하여 textarea 내용을 검색 할 때 너무 길면 텍스트가 잘립니다.
답변
텍스트 영역의 값을 설정 / 가져 오는 가장 좋은 방법은 .val()
, .value
메서드입니다.
.text()
내부적으로 .textContent
(또는 .innerText
IE의 경우) 메서드를 사용하여 <textarea>
. 다음 테스트 케이스가 설명하는 방법 text()
과 .val()
서로 관계 :
var t = '<textarea>';
console.log($(t).text('test').val()); // Prints test
console.log($(t).val('too').text('test').val()); // Prints too
console.log($(t).val('too').text()); // Prints nothing
console.log($(t).text('test').val('too').val()); // Prints too
console.log($(t).text('test').val('too').text()); // Prints test
value
특성 에 의해 사용되는 .val()
반면, 항상은 현재 눈에 보이는 값을 보여줍니다 text()
의 반환 값이 잘못 될 수 있습니다.
답변
.val()
항상 textarea
요소 와 함께 작동 합니다.
.text()
때때로 작동하고 다른 시간에 실패합니다! 신뢰할 수 없음 (Chrome 33에서 테스트 됨)
가장 좋은 점은 .val()
다른 양식 요소 (예 input
🙂 .text()
와도 원활하게 작동 하지만 실패 한다는 것 입니다.