jQueryが部分的な要素(別名範囲)で動作することは可能ですか?おそらくそうではありませんが、誰かがプラグインを知っていますか?-または、そのようなプラグインを作成するために私と協力したい人はいますか?
基本的に、これは私が求めている機能です。
var $el = $('<div>a b c d</div>');
$el.range(2,3).wrap('<strong>');
console.log($el.html()); // a <strong>b</strong> c d
$el.range(4,5).addClass('super');
$el.range(4,5).addClass('awesome');
console.log($el.html()); // a <strong>b</strong> <span class="super awesome">c</span> d
$el.range(2,5).addClass('shweet');
console.log($el.html()); // a <span class="shweet"><strong>b</strong> <span class="super awesome">c</span></span> d
$el.range(2,5).start; // 2
$el.range(2,5).finish; // 5
$el.range(); // returns $el
$el.selection(); // returns the partial element (aka range) for the current selection
$el.selection(2,5); // would select 'b c', and return their partial element (aka range)
$el.currentLine(); // returns the partial element (aka range) for the current line
textareasでもまったく同じように機能するはずです。
回答は、coffeescriptまたはjavascriptのいずれかで指定できます。
変更ログ:
- 追加した
$el.selection()
- 追加した
$el.currentLine()