如何为<a> tags</a>实现.click()

时间:2014-12-28 06:03:57

标签: javascript jquery html css click

我正在尝试使用jquery单击时更改链接标记的文本。诀窍是标签是用jquery创建的,在页面加载时不存在。

这里是小提琴:http://jsfiddle.net/arcco96/hjo3kb4b/4/

jquery看起来像这样:

$(document).ready(function () {

$("#round-button").click(function () {

    // do something
    $("#button-text").text("new text");

});

});

a标记如下所示:<a class="round-button" id="round-button" href="#"> <p id="button-text">Blah!</p></a>

由于某种原因,代码不起作用。它适用于其他元素,如按钮甚至其他元素,但在&#34;#roud-button&#34;特别是它没有。

我听说这是一个常见的问题,但当我试图实施一些常用的解决方案时,它无效。

有什么想法吗?

感谢

2 个答案:

答案 0 :(得分:2)

因为您正在动态创建按钮,所以jQuery无法连接$.ready上的点击处理程序,因为它还不存在。

你可以做的是使用on绑定处理程序,当按钮添加到文档时它将起作用:

$("#container").on('click', "#round-button",  function () {

jsFiddle here

答案 1 :(得分:1)

检查以下链接上的代码 http://jsfiddle.net/hjo3kb4b/5/

$(&#34;#round-button&#34;)。点击(function(){

// do something
$("#button-text").html("new text");

});

这应该定义在页面上插入按钮的地方..你在文档加载时调用了这个脚本。