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

时间:2014-01-14 06:43:14

标签: javascript jquery html

我无法使用动态生成的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>

如果我没有通过参数,则会成功调用它。

4 个答案:

答案 0 :(得分:1)

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

相同
var name="prasad";

答案 1 :(得分:1)

<!DOCTYPE html>
<html>
<body>
<div id="next">
<p>Click the button to call a function with arguments</p>
<button onclick="myFunction('Harry Potter','Wizard')">Try it</button>
</div>
<script>
function myFunction(name,job)
{
var a='"';
a=a+name+a;
var str="<a href='#' onclick='fun("+a+")'>link</a>";
document.getElementById('next').innerHTML=str;
}
function fun(id1)
{
alert("fun menthod "+id1);
}
</script>
</body>
</html>

答案 2 :(得分:0)

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

答案 3 :(得分:0)

将名称更改为:

var name="'prasad'";

我在JS Console中看到了语法错误。