我是 JavaScript 新手,有 2 个 html 链接:
<li><a class="dropdown-item confirm" href="#">wtdata</a></li>
<li><a class="dropdown-item confirm" href="#">ftdata</a></li>
第一步是通过单击每个链接获取特定文本值。例如,如果我单击第一个链接,我将获得文本 wtdata。如果单击第二个链接,我会收到文本 ftdata。我已经通过以下方式完成了这一步:
<script>
var myFunction = function() {
var attribute = this.innerHTML;
alert(attribute);
};
var elements = document.getElementsByClassName("dropdown-item");
for (var i = 0; i < elements.length; i++) {
elements[i].addEventListener('click', myFunction, false);
}
</script>
单击上一步中的链接后,将自动弹出一个 Bootstrap 模式,其中有 2 个按钮。这是一个内置的Bootstrap函数,已经完成了。这些按钮是:
<button id='cancel_btn'>Cancel</button>
<button id='confirm_btn'>Confirm</button>
第二步是:
如果在第一步中单击了链接 wtdata 并单击了弹出窗口中的确认按钮,则将链接 wtdata 的 href 值替换为“wtdata_url”。
与链接 ftdata 相同,如果
在第一步中单击链接 ftdata 并单击弹出窗口中的确认按钮,将链接 ftdata 的 href 值替换为“ftdata_url”。
如何完成第二步?我尝试构建一个函数来返回已单击的特定文本,但无法获取返回值:
<script>
function getLinkname(cl){
var elements = document.getElementsByClassName(cl);
var getText = function() {
var attribute = this.innerHTML;
document.getElementById("staticBackdropLabel").innerHTML='Run ' + attribute + ' ?';
};
for (var i = 0; i < elements.length; i++) {
elements[i].addEventListener('click', getText, false);
}
return attribute;
}
var linkname = getLinkname('confirm');
console.log(linkname);
</script>
error:
Uncaught ReferenceError: attribute is not defined
at getLinkname ((index):159:1)