我尝试了所有可能的方法,我根本无法在字符串中添加断行,该字符串存储在变量中,然后在特定函数中使用。
HTML code:
<body>
<p id="msg"></p>
</body>
Jquery代码:
<script>
var showText = function (target, message, index, interval) {
if (index < message.length) {
$(target).append(message[index++]);
setTimeout(function () { showText(target, message, index, interval); }, interval);
}
}
var x = "Hello there stranger!"+"<br>"+"How are you?";
$(function () {
showText("#msg", x, 0, 130);
});
</script>
它将<br>
标记输出为字符串,而不是添加折断线。请帮忙......
答案 0 :(得分:1)
你的观点是:
[jQuery.append][1]
而不是:
[jQuery.html][2]
我建议你:
var showText = function (target, message, index, interval) {
if (index < message.length) {
// if special character: append the break element
if (message[index] == '\n') {
index++;
$(target).append('<br/>');
} else {
// else: append text to the html
$(target).html($(target).html() + message[index++]);
}
setTimeout(function () {
showText(target, message, index, interval);
}, interval);
}
}
// use a special character instead of the break element
var x = "Hello there stranger!\nHow are you?";
$(function () {
showText("#msg", x, 0, 130);
});
&#13;
<script src="https://code.jquery.com/jquery-1.12.1.min.js"></script>
<p id="msg"></p>
&#13;
答案 1 :(得分:0)
也许parseHTML
方法有帮助吗?
您可以在上面的代码中使用它,如下所示:
var messageStr = $.parseHTML( message[index++] );
$(target).append(messageStr);
parseHTML
方法将字符串转换为DOM节点:https://api.jquery.com/jquery.parsehtml/