2016-04-27 3 views
-1

Привет как добавить DIV внутри кнопки на мыши это мой JavaScript:Append ДИВ в кнопку на кнопку 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 EDIT

Это добавит элемент любой кнопки вызова 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

Да, но jos на кнопках с функцией 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>