Я новичок в javascript. Я создал кнопку для копирования. На должен отображаться значок галочки после нажатия на кнопку . Код для «функция копирования» работает хорошо, но код для изменения значка после события щелчка не работает .
Будет несколько кнопок копирования, каждая из которых имеет уникальный Атрибут ID. Я хочу изменить «Значок копирования» на «Значок проверки» после нажатия. Я думаю, что простой способ состоит в том, чтобы изменить имя класса в
<i class="far fa-copy" id="classTest1"></i>
с (class = "far fa-copy") на (class = "fas fa-check"), но проблема в том, что функция changeClass
не понимает, какой класс нажал кнопку, чтобы изменить класс. Код изменил класс всех элементов.
Также можно ли объединить 2 функции copyToClipboard(elementId)
и changeClass()
в 1 функцию?
Мой веб-сайт не может работать с jQuery, и я не знаю, что произойдет, я новичок ie.
Большое спасибо за вашу помощь.
function copyToClipboard(elementId) {
var aux = document.createElement("input");
aux.setAttribute("value", document.getElementById(elementId).innerHTML);
document.body.appendChild(aux);
aux.select();
document.execCommand("copy");
document.body.removeChild(aux);
}
function changeClass(elementId) {
var x = document.getElementById("elementId");
x.className = "fas fa-check";
}
.copybutton {
cursor: pointer;
font-size: 14px;
color: #fff;
padding: 12px 10px;
text-decoration: none !important;
background: #333333;
background-color: rgb(51, 51, 51);
border: none;
transition: all .6s cubic-bezier(0.77,0,0.175,1);
}
.copybutton {
color:#ffffff;
}
.copybutton:hover {
background: #c2a693;
transition: all .6s cubic-bezier(0.77,0,0.175,1);
}
.copybutton:focus {
outline: 0;
}
<html>
<head><script src="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.13.0/js/all.min.js" integrity="sha256-KzZiKy0DWYsnwMF+X1DvQngQ2/FxF7MF3Ff72XcpuPs=" crossorigin="anonymous"></script>
</head>
<body>
<h2>Finding HTML Elements by Tag Name</h2>
<div id="main">
<p>This example test.</p>
</div>
<div>
<h6 class="copy">Button 1: test 1 <span id="test1" style="display: none;">Test 1 copied</span> <button class="copybutton" onclick="copyToClipboard('test1');changeClass('classTest1')"><i class="far fa-copy" id="classTest1"></i></button></h6>
<h6 class="copy">Button 2: test 2 <span id="test2" style="display: none;">Test 2 copied</span> <button class="copybutton" onclick="copyToClipboard('test2');changeClass('classTest2')"><i class="far fa-copy" id="classTest2"></i></button></h6>
<p>Paste here: <input value="paste here for test copy function"></p>
</div>
</body>
</html>