2016-04-27 93 views
-1

嗨如何追加內上點擊按鈕格,這是我的JavaScript:追加DIV點擊的Javascript

function addLoader() { 
    var div = document.createElement('div'); 
    div.innerHTML = '<div class="loader"> <div class="loader-ring"> <div class="loader-ring-light"></div> </div> </div>'; 
    var test01 = document.createElement('button'); 
    test01.appendChild(div); 
    console.log(test01); 
} 

我想在點擊添加innerHTML的按鈕標籤內

<button onclick="addLoader(this);">testt </button> 

它必須當功能完成時如此:

<button>testt <div class="loader"> <div class="loader-ring"> <div class="loader-ring-light"></div> </div> </div> </button> 

回答

1

HTML

// Added id attribute 
<button onclick="addLoader();" id = "test01">testt </button> 

JS

function addLoader() { 
    var _div = document.createElement('div'); 
    _div.innerHTML = '<div class="loader"> <div class="loader-ring"> <div class="loader-ring-light"></div> </div> </div>'; 
    //append _div to button 
    document.getElementById("test01").appendChild(_div); 

} 

Working jsfiddle

Snapshot 編輯

這將追加元素的任何按鈕呼叫addLoader上點擊

function addLoader(elem) { 
     var _div = document.createElement('div'); 
     _div.innerHTML = '<div class="loader"> <div class="loader-ring"> <div class="loader-ring-light"></div> </div> </div>'; 
     elem.appendChild(_div); 
    } 

Updated jsfiddle

+0

我能做到這一點,而無需使用任何ID級別?只是按鈕標籤? –

+0

你可以做到這一點,但它會很複雜,原因是你的頁面可能有多個按鈕。你是否想要在其他按鈕中添加相同的DOM元素? – brk

+0

是的,但按鈕上的按鈕,具有onclick功能 –

0

你只需要一行代碼。變量test01在內存中創建,但未添加到DOM。必須把這個新元素添加到DOM(即document.appendChild(test01)

1

var btn = document.getElementById("addLoader"); 
 

 
if (btn) { 
 
    btn.addEventListener('click', addLoader, false); 
 
} 
 

 
function addLoader() { 
 
    var div = document.createElement('div'); 
 
    div.innerHTML = '<div class="loader"> <div class="loader-ring"> <div class="loader-ring-light"></div> </div> </div>'; 
 
    this.appendChild(div); 
 
}
<button id="addLoader">Test</button>