无法在动态生成的HTML中调用javascript函数

无法在动态生成的HTML中调用javascript函数,javascript,jquery,html,Javascript,Jquery,Html,我无法在动态生成的HTML代码中使用参数调用javascript函数 当我不传递任何参数时,同一个函数被成功调用,但使用参数时函数调用失败。不确定是否是语法错误 下面是我的代码: <!DOCTYPE html> <html> <body> <p>Click the button to call a function with arguments</p> &

我无法在动态生成的HTML代码中使用参数调用javascript函数

当我不传递任何参数时,同一个函数被成功调用,但使用参数时函数调用失败。不确定是否是语法错误

下面是我的代码:

    <!DOCTYPE html>
    <html>
        <body>

            <p>Click the button to call a function with arguments</p>
            <button onclick="myFunction('Harry Potter','Wizard')">Try it</button>

            <script>
            function myFunction(name,job) {
                var name="prasad";
                var str='<a href="#" onclick="javascript: fun('+name+')">link</a>';
                document.write(str);
            };

            function fun(id1) {
                alert("fun menthod "+id1);
            }
            </script>
        </body>
    </html>

单击该按钮可调用带有参数的函数

试试看 函数myFunction(名称、作业){ var name=“prasad”; var-str=''; 文件编写(str); }; 功能乐趣(id1){ 警觉(“趣味门道”+id1); }

如果我没有传递参数,它将被成功调用。

此处:
var name=“prasad”更改“name”参数的值可能是您的问题。尝试删除此行并查看输出。

删除此行,因为变量名与参数名相同

var name="prasad";

单击该按钮可调用带有参数的函数

试试看 函数myFunction(名称、作业) { 变量a=“”; a=a+姓名+a; var str=“”; document.getElementById('next')。innerHTML=str; } 功能乐趣(id1) { 警觉(“趣味门道”+id1); }
将名称更改为:

var name="'prasad'";

另外,我在JS控制台中看到语法错误。

通常当您无法从HTML中调用JS时,这意味着存在JS错误,请打开JS控制台并查看BTW:它在JSFIDLE上工作-我尝试了您的代码,它工作正常。。。(良好做法:不要两次声明同一个变量:name。它已声明为参数。因此,只需影响不带“var”标记的新值即可。)您应该使用innerHTML属性而不是document.write()。检查此项:谢谢大家的及时响应
var name="'prasad'";