使用jquery动态添加链接

时间:2015-05-13 17:41:50

标签: jquery hyperlink

我可以在我的网页上动态添加链接,但它似乎不是我的javascript代码识别的链接:

添加链接的Javascript代码:

 var myLink = $('<a>',{
                    text: 'My Link',
                    id : 'link-1',
                    href: '#'
                }).appendTo('#book');

访问该链接的Javascript代码:

$("#link-1").click(function () {
            alert('link-1 clicked');
        });

但是当我点击创建的新链接时,没有提醒。

你知道我如何解决这个问题吗?

提前感谢您的帮助

2 个答案:

答案 0 :(得分:1)

以下是使用.on()

执行此操作的方法
$('#book').on("click", "#link-1", function (e) {
    alert('link-1 clicked');
})

注意:这假定在设置绑定时{d}已经在dom中。{/ p>

<强>更新

由于您将要添加其他链接,因此您需要使用公共类来定位这些锚点:

#book

现在你可以将绑定目标定位到那些锚点:

 var myLink = $('<a>',{
                    text: 'My Link',
                    class : 'my-anchor', // <-- notice I replaced id with class
                    href: '#'
                }).appendTo('#book');

重要说明:您的文档中不能包含重复的$('#book').on("click", ".my-anchor", function (e) { alert('my-anchor clicked'); }) 属性值 - 这会使您的HTML无效并导致JavaScript中出现意外行为。

答案 1 :(得分:0)

在绑定&#34;点击&#34;之前,您需要创建链接。事件,否则无效。

或者,使用jQuery.live绑定页面上可能不存在的元素事件。

示例:

$(&#34;#link-1&#34;)。live(&#39; click&#39;,function(){             提醒(&#39; link-1点击&#39;);         });