0

rangy.cssClassApplierクラスを文字列に適用するにはどうすればよいですか? ありがとう

4

1 に答える 1

1

直接できません。Rangey CSS クラス アプライヤーは DOM でのみ動作します。

代わりに HTML 文字列を一時要素に追加し、CSS クラスを適用して再度削除することができます。

ライブデモ: http://jsfiddle.net/Ta3ta/

コード:

function applyCssClassToHtml(cssClass, html) {
    rangy.init();
    var cssClassApplier = rangy.createCssClassApplier(cssClass);
    var div = document.createElement("div");
    div.innerHTML = html;
    document.body.appendChild(div);
    var range = rangy.createRange();
    range.selectNodeContents(div);
    cssClassApplier.applyToRange(range);
    range.detach();
    document.body.removeChild(div);
    return div.innerHTML;
}

var html = applyCssClassToHtml("someClass", "Hello <b>world</b>");
于 2011-10-28T08:46:18.947 に答える