JSカーソルの位置にボタンで文字を挿入

HTML
<textarea id="delimiter" rows="18" name="textarea"></textarea>
<input type="hidden" id="sptext" value="<>">
<button class="ui red button" type="button" onclick="addText();">区切文字追加</button>
Javascript
function addText(){
//テキストエリアと挿入する文字列を取得
var area = document.getElementById('delimiter');
var text = document.getElementById('sptext').value;
//カーソルの位置を基準に前後を分割して、その間に文字列を挿入
area.value = area.value.substr(0, area.selectionStart)
+ text
+ area.value.substr(area.selectionStart);
}
inputではなく直接指定
function addText(){
//テキストエリアと挿入する文字列を取得
var area = document.getElementById('delimiter');
var text = "\n<>\n";
//カーソルの位置を基準に前後を分割して、その間に文字列を挿入
area.value = area.value.substr(0, area.selectionStart)
+ text
+ area.value.substr(area.selectionStart);
}