在保持html格式的同时,在多个跨度中转换字符的最有效方法

时间:2015-08-11 19:53:49

标签: javascript jquery html

我正在开发一个javascript库,用随机图表条目为div设置动画。 我需要将每个char转换为div,并保持html格式。
这样做最有效的方法是什么?
例如:

<div class="base_container">Hi Elia,<br>what's your name?</div>

成:

<div class="base_container">
    <span id="char_1">H</span>
    <span id="char_2">i</span>
    <span id="char_3"> </span>
    <span id="char_4">E</span>
    <span id="char_5">l</span>
    <span id="char_6">i</span>
    <span id="char_7">a</span>
    <span id="char_8">,</span>
    <br>
    <span id="char_9">w</span>
    <span id="char_10">h</span>
    .
    .
    .
</div>

提前谢谢你!最难的部分是维护html格式!

3 个答案:

答案 0 :(得分:2)

以HTML格式设置任何代码的帐户,而不仅仅是pip uninstall theano; pip install --user theano

<br>

答案 1 :(得分:1)

我不会告诉你如何这样做,因为那不是你的问题。解决这个问题的最佳方法是:

var elem = document.getElementsByClassName('base_container')[0];
var content = elem.innerHTML;
// Do some crazy stuff with regex and string parsing
elem.innerHTML = content;

希望有所帮助。

答案 2 :(得分:1)

我会这样做:

var baseContainer = document.querySelector(".base_container");
var textParts = baseContainer.innerHTML.match(/<[^>]+>|&[a-z0-9]+;|./gi);

baseContainer.innerHTML = textParts.map(function (textPart, index) {
    return textPart.length > 1 ? textPart : "<div id='char_" + index + "'>" + textPart + "</div>";
}).join("");