使用rangy.cssClassApplier将类应用于字符串

时间:2011-10-27 21:21:10

标签: html javascript contenteditable rangy

如何使用rangy.cssClassApplier将字符串应用于字符串?感谢

1 个答案:

答案 0 :(得分:1)

你不能直接。 Rangy 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>");