Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用JS跟踪和更新元素_Javascript_Dom - Fatal编程技术网

Javascript 使用JS跟踪和更新元素

Javascript 使用JS跟踪和更新元素,javascript,dom,Javascript,Dom,很难解决这个问题。我使用TinyMCE创建了一个WYSIWYG编辑器,以便工作人员可以从Word复制/粘贴到该程序中,以检查错误(即多个h1标题) 我遇到的问题是,一旦他们纠正了突出显示的错误。如何从此元素中删除集合属性或样式?到目前为止,我的JS进行了检查并创建了一个日志。我想我需要使用MutationObserver?我从来没有用过它,也找不到一个好的解释 function styleGuide(){ var searchInput = tinyMCE.activeEditor.g

很难解决这个问题。我使用TinyMCE创建了一个WYSIWYG编辑器,以便工作人员可以从Word复制/粘贴到该程序中,以检查错误(即多个h1标题)

我遇到的问题是,一旦他们纠正了突出显示的错误。如何从此元素中删除集合属性或样式?到目前为止,我的JS进行了检查并创建了一个日志。我想我需要使用MutationObserver?我从来没有用过它,也找不到一个好的解释

function styleGuide(){

    var searchInput = tinyMCE.activeEditor.getContent();
    document.getElementById('findAllErrors').innerHTML = searchInput;

    var resultsLog = document.getElementById('passFailLog');

    // search for h1
    var h1 = document.querySelectorAll('h1');
    var i = 0;
    do {
        if(h1.length == 0){
            resultsLog.innerHTML = "<br /><span class='warning'>You do not have an H1 element.</span>";
        }
        else if(h1.length > 1){
            resultsLog.innerHTML = "<br /><span class='error'>You have more than one H1 element.</span>";
        }
        else {
            resultsLog.innerHTML = "<br /><span class='pass'>You have the correct amount of H1 headers.</span>";
        }
        //set style for errors
        if(i > 0){
            h1[i].style.color = "Red";
            h1[i].setAttribute("class", "fixIt");
        }
        i++;
    }
    while (i < h1.length);

    //Update Error Found to Original Editor
    var outputUpdate = document.getElementById('findAllErrors').innerHTML;
    var mceContent = tinyMCE.activeEditor.getContent();
    var errorsFound = outputUpdate.replace(mceContent, outputUpdate);
    tinymce.activeEditor.setContent(errorsFound);
}
函数样式指南(){
var searchInput=tinyMCE.activeEditor.getContent();
document.getElementById('findAllErrors')。innerHTML=searchInput;
var resultsLog=document.getElementById('passFailLog');
//搜索h1
var h1=document.querySelectorAll('h1');
var i=0;
做{
如果(h1.length==0){
resultsLog.innerHTML=“
您没有H1元素。”; } 否则如果(h1.长度>1){ resultsLog.innerHTML=“
您有多个H1元素。”; } 否则{ resultsLog.innerHTML=“
您有正确数量的H1标题。”; } //设置错误的样式 如果(i>0){ h1[i].style.color=“红色”; h1[i].setAttribute(“类”、“修复”); } i++; } 而(i
函数的开始应重置/删除之前设置的任何错误(删除
红色
颜色并删除
修复
类)

然后,该函数可以执行其检查操作,并在需要时重新应用错误


这允许您在每次用户进行更改时调用相同的函数

Word没有拼写检查?超出拼写范围。它基本上是准备一个文档,以满足预定的样式指南,并帮助编辑正确格式化。谢谢。我曾经尝试过类似的方法,但没有成功,`var all=document.getElementsByTagName('h1');var i=全部长度;变量j是隐藏的;var attr=['class','style',];var attr_len=attr.length;while(i--){j=attr_len;while(j--){all[i].removeAttribute(attr[j]);}`