можно передать строку, а не переменной, используйте:
onclick="myFunction(data)"
Строка должна быть указана переменная (ссылка, в этом случае, в строку) не должен (в противном случае это» будет оцениваться как буквальная строка).
Кстати, JavaScript не требует, чтобы явно создать строку, прежде чем присваивать ей значение, вы можете использовать только:
var data = 'This is what I want to show.';
И при использовании innerHTML
работы, если все, что вы делаете, это обновление содержание текста (и нет вложенных узлов, которые необходимо учитывать), вы могли бы просто использовать:
function myFunction(text) {
// the var declaration prevents the variable becoming global
var elem = document.getElementById('replace');
elem.appendChild(document.createTextNode(text));
}
и сделать это в более общем плане, полезно, избежать жесткого кодирования id
элемента для изменения внутри функции, а передать его функция:
function myFunction(text, elem) {
// testing if the element is a node, if not assume it's a string of the id:
var elem = elem.nodeType === 1 ? elem : document.getElementById('replace');
elem.appendChild(document.createTextNode(text));
}
И агрегирование выше:
onclick="myFunction(data, 'replace')"
Или:
onclick="myFunction(data, document.getElementById('replace'))"
Я также сильно, советую не использовать в линии/навязчивый JavaScript, просто чтобы упростить обновление функций, вызываемых, аргументов и самих функций, в одном месте (вместо того, чтобы перемещаться по документу и находить каждый экземпляр, в котором вызывается функция):
// define the function here
var buttons = document.getElementsByTagName('button'),
replace = document.getElementById('replace'),
data = 'Text I want to show.';
for (var i = 0, len = buttons.length; i < len; i++){
buttons[i].onclick = function(){
myFunction(data, replace);
};
}
Вы хотите, чтобы «Test» был заменен значением 'button'' Press' или другим. Пожалуйста, дополните. –
Извините, что когда вы нажимаете кнопку, слово «Test» следует заменить на «Это то, что я хочу показать» – user2330961
Заменить с помощью кнопки – Agriesean