JavaScript - 代码不起作用 - 将参数传递给函数

时间:2017-04-06 18:22:56

标签: javascript arguments

我正在尝试理解我在互联网上找到的书签应用程序,这里是代码https://github.com/bradtraversy/bookmarker/blob/master/js/main.js的链接 现在,在第85行上的代码中,他使用button事件构建onclick元素,将其分配给函数deleteBookmark()并在其中传递参数url然后在{strong>第55行上的deleteBookmark()函数中收到它并且他的代码可以工作但是当我尝试构建类似的代码以更好地理解该应用程序中发生的情况时,我的代码不起作用。我正在使用下面的代码。

    <div id="divArgument"></div>
    <input type="text" id="argument">
    <p id="displayArg"></p>
    <script>
    var testArg = document.getElementById('divArgument');
    var getVal = document.getElementById('argument').value;
    testArg.innerHTML = '<button onclick="sendArg(\''+getVal+'\')">Display Argument</button>';

    function sendArg(recVal){
            document.getElementById('displayArg').innerHTML = recVal;
        } 
    </script>

1 个答案:

答案 0 :(得分:2)

执行'<button onclick="sendArg(\''+getVal+'\')">....getVal没有任何值。

所以把var getVal = document.getElementById('argument').value;放在事件处理函数

var testArg = document.getElementById('divArgument');
testArg.innerHTML = '<button onclick="sendArg()">Display Argument</button>';

function sendArg(recVal) {
var getVal = document.getElementById('argument').value;
  document.getElementById('displayArg').innerHTML = getVal;
}

DEMO