2017-10-05 25 views
0

我寫點擊一個鏈接時,顯示在div內容的腳本。代碼如下。的insertBefore是增加早期messges

的情況是這樣的,我已經10個錨標記,當我點擊一個錨應該在一個div textResult

function getTheIncident(keyWord, text, shortDesc, description) { 
    console.log(keyWord + "\t" + text); 
    var e = document.getElementById('textResult'); 
    var issueTag = document.createElement('H2'); 
    var resolutionTag = document.createElement('H2'); 
    var descTag = document.createElement('H2'); 

    if (text) { 
     var issue = document.createElement('div'); 
     issueTag.innerHTML = "Issue"; 
     issue.innerHTML = shortDesc.replace('\^', '\''); 
     issue.insertBefore(issueTag, issue.firstChild); 

     var resol = document.createElement('div'); 
     resolutionTag.innerHTML = "Resolution"; 
     resol.innerHTML = text.replace('\^', '\''); 
     resol.insertBefore(resolutionTag, resol.firstChild); 

     var desc = document.createElement('div'); 
     descTag.innerHTML = "Description"; 
     desc.innerHTML = description.replace('\^', '\''); 
     desc.insertBefore(descTag, desc.firstChild); 

     e.insertBefore(resol, e.firstChild); 
     e.insertBefore(desc, e.firstChild); 
     e.insertBefore(issue, e.firstChild); 

    } 
    else { 

     h1Tag.innerHTML = "Issue"; 
     e.innerHTML = shortDesc.replace('\^', '\''); 
     e.insertBefore(h1Tag, e.firstChild); 

     h1Tag.innerHTML = "Description"; 
     e.innerHTML = shortDesc.replace('\^', '\''); 
     e.insertBefore(h1Tag, e.firstChild); 

     h1Tag.innerHTML = "No Resolution Available"; 
     e.innerHTML = text.replace('\^', '\''); 
     e.insertBefore(h1Tag, e.firstChild); 
    } 
} 

在這裏第一次顯示的結果,當我點擊我得到的結果如下。

Issue 

Laptop issue 
Description 

RAM with 128GB 
Resolution 

A Procurement order has been placed for a new RAM with 128 GB 

,當我點擊它第二次

Issue 

Laptop issue 
Description 

RAM with 128GB 
Resolution 

A Procurement order has been placed for a new RAM with 128 GB 
Issue 

Laptop issue 
Description 

RAM with 128GB 
Resolution 

A Procurement order has been placed for a new RAM with 128 GB 

但我想這上來一次。

請讓我知道我要去哪裏錯了,我怎麼能解決這個問題。

注意我使用Javascript,不使用任何jQuery的。

感謝

+0

'的insertBefore()'如果你不想插入額外的內容? –

+0

*但我想這要拿出只有一次*你的意思是,如果你在按鈕雙擊它應該來一次,它應該檢查相應的重複值和過程? – Rajesh

+0

@Rajesh我想清除'textResult'中有什麼,並顯示新的內容...。 – user3872094

回答

0

你添加新的之前刪除舊的孩子,否則你會在同一時間同時擁有。

var issue, resol, desc; 
if (text) { 
    if (issue) e.removeChild(issue); 
    if (resol) e.removeChild(resol); 
    if (desc) e.removeChild(desc) 
    issue = document.createElement('div'); 
    issueTag.innerHTML = "Issue"; 
    issue.innerHTML = shortDesc.replace('\^', '\''); 
    issue.insertBefore(issueTag, issue.firstChild); 

    resol = document.createElement('div'); 
    resolutionTag.innerHTML = "Resolution"; 
    resol.innerHTML = text.replace('\^', '\''); 
    resol.insertBefore(resolutionTag, resol.firstChild); 

    desc = document.createElement('div'); 
    descTag.innerHTML = "Description"; 
    desc.innerHTML = description.replace('\^', '\''); 
    desc.insertBefore(descTag, desc.firstChild); 

    e.insertBefore(resol, e.firstChild); 
    e.insertBefore(desc, e.firstChild); 
    e.insertBefore(issue, e.firstChild); 

} 

這不可能是爲什麼您使用的是最好的解決方案