亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Javascript ReplaceChild 不顯示消息

Javascript ReplaceChild 不顯示消息

holdtom 2023-10-10 16:28:10
我有這個代碼 <!DOCTYPE html>        <html>        <head>        <script>        function insertAfter(newNode, referenceNode) {            referenceNode.parentNode.insertBefore(newNode, referenceNode.nextSibling);        }                        function writeMess(node, mess){            elementEx= document.getElementsByTagName("br").length;            if(elementEx < 5){                newerrmess = document.createTextNode(mess);                node.replaceChild(newerrmess, node.firstChild);                br = document.createElement("br");                insertAfter(br, node);            }        }                        function Add(){            try{                        writeMess(nodoMessErr1, "");                var capsule = parseInt(nodoCapsule.value);                        /* Check correct values */                if(!isNaN(capsule)){                    totcapsule = capsule;                }                else{                /* Err Mess */                writeMess(nodoMessErr1, "Error Mess 1");                return;              }            }               catch( e ){                alert("Aggiunta " + e);                return;            }        }                   var nodoAdd;        var nodoCapsule;        var nodoMessErr1;        var totcapsule;                        /* Core function */        function gestoreLoad(){                   }            catch(e){                alert("gestoreLoad " + e);            }        }函數 writeMess 充當消息(文本節點)的“編寫器”,將其附加為 span 的子級,并在 span 后放置一個“< br >”看看“Add”函數,我的程序的工作原理就像當用戶將 NaN 值放入“nodoCapsule.value”中時顯示一條錯誤消息(默認“”)來提醒他。我嘗試按下按鈕(id =“Aggiunta”)并在其中寫入 NaN 值,但沒有顯示任何消息(僅創建了“ < br > ”,但前面沒有文本)不知道為什么,有什么解決辦法嗎?編輯 - 這取決于瀏覽器,其他瀏覽器向我顯示錯誤消息,但繼續創建“<br>”。當顯示錯誤消息時,我只想顯示一個“< br >”。沒有消息,也沒有 br 沒有顯示消息。
查看完整描述

1 回答

?
德瑪西亞99

TA貢獻1770條經驗 獲得超3個贊

你只需要檢查是否已經有一個br標簽


您可以通過以下方式檢查


if (node.nextElementSibling.tagName.toLowerCase() !== "br") {

     // add br

}

工作示例


function insertAfter(newNode, referenceNode) {

    referenceNode.parentNode.insertBefore(newNode, referenceNode.nextSibling);

}



function writeMess(node, mess){

    elementEx= document.getElementsByTagName("br").length;

    if(elementEx < 5){

        newerrmess = document.createTextNode(mess);

        node.replaceChild(newerrmess, node.firstChild);

        if (node.nextElementSibling.tagName.toLowerCase() !== 'br') {

            br = document.createElement("br");

            insertAfter(br, node);

        }

    }

}



function Add(){

    try{

        debugger;

        writeMess(nodoMessErr1, "");

        var capsule = parseInt(nodoCapsule.value);


        /* Check correct values */

        if(!isNaN(capsule)){

            totcapsule = capsule;

        }

        else{

        /* Err Mess */

        writeMess(nodoMessErr1, "Error Mess 1");

        return;

      }

    }   

    catch( e ){

        alert("Aggiunta " + e);

        return;

    }

}   


var nodoAdd;

var nodoCapsule;

var nodoMessErr1;

var totcapsule;



/* Core function */

function gestoreLoad(){

debugger;

try{


    nodoAdd = document.getElementById("aggiunta");

    nodoCapsule= document.getElementById("capsule");

    nodoMessErr1 = document.getElementById("adderr");



    nodoAdd.onclick = Add;

    nodoCapsule.value = "";


    var TextNodeErr_1= document.createTextNode("");

    nodoMessErr1.appendChild(TextNodeErr_1);



    }

    catch(e){

        alert("gestoreLoad " + e);

    }

}




window.onload = gestoreLoad;

<body>

            <span id="adderr"></span>

            

            <input type="text" id="capsule" /> 

            <input type="button" id="aggiunta" value="Add"/> 

            

        

        

        </body>


查看完整回答
反對 回復 2023-10-10
  • 1 回答
  • 0 關注
  • 116 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號