Javascript innerHTML仍在计算一个标记?
我做了一个打字机效果,它会先键入一个字符串,然后再删除它。如图所示: 但是,正如您从输出中看到的,有一个“>”标记不会消失!我什么都试过了 我已将出现故障的函数粘贴到下面:Javascript innerHTML仍在计算一个标记?,javascript,html,web,innerhtml,Javascript,Html,Web,Innerhtml,我做了一个打字机效果,它会先键入一个字符串,然后再删除它。如图所示: 但是,正如您从输出中看到的,有一个“>”标记不会消失!我什么都试过了 我已将出现故障的函数粘贴到下面: function removeType(i,isTag,text,str2) { text = str2.slice(0, --i); if(text == 0){ return; } document.getElementById('test').i
function removeType(i,isTag,text,str2) {
text = str2.slice(0, --i);
if(text == 0){
return;
}
document.getElementById('test').innerHTML = text;
var char = text.slice(-1);
if( char === '>' ) isTag = true;
if( char === '<' ) isTag = false;
if (isTag) return removeType(i,isTag,text,str2);
setTimeout(function() { removeType(i,isTag,text,str2);}, 100);
}
函数删除类型(i、isTag、文本、str2){
text=str2.slice(0,--i);
如果(文本==0){
返回;
}
document.getElementById('test').innerHTML=text;
var char=text.slice(-1);
如果(char=='>')isTag=true;
如果(字符=='替换
function removeType(i,isTag,text,str2) {
text = str2.slice(0, --i);
if(text == 0){
return;
}
document.getElementById('test').innerHTML = text;
var char = text.slice(-1);
if( char === '>' ) isTag = true;
if( char === '<' ) isTag = false;
if (isTag) return removeType(i,isTag,text,str2);
setTimeout(function() { removeType(i,isTag,text,str2);}, 100);
}
函数删除类型(i、isTag、文本、str2){
text=str2.slice(0,--i);
如果(文本==0){
返回;
}
document.getElementById('test').innerHTML=text;
var char=text.slice(-1);
如果(char=='>')isTag=true;
如果(char=='')isTag=true;
如果(isTag){
如果(char=='')isTag=true;
如果(isTag){
如果(char=='函数removeType
中的问题是,当您刚刚解析一个时,您没有进入if(isTag)
主体,请在您的问题中发布相关的“”代码,不要只发布一个链接,希望我们看到。您的问题在这里if(char=='@Ingus,请注意这些函数中字符串解析的方向是相反的,因此@trincot的效果我测试了它,它似乎在函数removeType
中将if
更改为if(isTag | char=='
function removeType(i,isTag,text,str2) {
text = str2.slice(0, --i);
document.getElementById('test').innerHTML = text;
if(text === ''){
return;
}
var char = text.slice(-1);
if( char === '>' ) isTag = true;
if (isTag) {
if( char === '<' ) isTag = false;
return removeType(i,isTag,text,str2);
}
setTimeout(function() { removeType(i,isTag,text,str2);}, 100);
}
str2.replace(/<[^>]*>/g, '');
var str2 = "Hello Stackoverflow<span class='punc'>?</span>";
const el = document.createElement('p');
el.innerHTML = str2;
str2 = el.innerText;
if (isTag || char === '<')
if(text == 0){
if (!text.length){