2012-01-24 29 views
2

我有一些链接元素是动态添加和隐藏的页面。在dyamically生成的链接上更改文本

它们由第三方telerik控件生成。

我想改变文本的名称,不幸的是唯一的方法就是使用jquery。

我已经生成了规则(选择器),它们在显示时捕获编辑链接。但在初始页面加载时,编辑链接将不可见。用户点击某些内容后,这些链接将被创建。用户点击其他内容后,这些内容将隐藏,其他链接将显示。这些是我需要改变文字的链接。

我该如何编写jQuery代码,以便每当将与该选择器匹配的元素添加到页面时,按钮文本就会更新?

谢谢!

Edit0

我有过如何产生,他们无法控制的。

有两个网格,顶部为父级,底部为子级。最初的孩子是隐藏的。在顶部网格中选择一行,底部网格显示该选择的项目。这是将这些链接添加到页面中的点(通过AJAX异步),因此它们不在DOM中(编辑子网格中每个子项的链接)。

希望更有意义。

EDIT1

//catches the links 
$("#CustomClass .t-button.t-grid-edit").text("Awesome text instead of Edit"); 
+0

“用户点击某些内容后,将创建这些链接。” - 你在控制这个代码吗?或者您是否无法控制要添加的内容以及如何添加内容? – mrtsherman

+0

我很困惑。何时将此元素与所述选择器一起添加到页面中? – Trevor

+0

这个问题有点难以理解。你有任何代码要显示吗?就像抓住链接的人一样。无论如何,当你说链接生成时,它们是在页面加载时生成的,还是通过AJAX等异步调用生成的? –

回答

2

如果你正在使用jQuery 1.7+,你需要使用on事件处理程序分配给满足您的选择标准,当前和未来的DOM元素。

如果您使用的是早期版本的jQuery,则应该使用delegate

您声明您无法控制它们的生成方式,但您是否可以控制将内容添加到页面中?如果是这样,您可以使用自定义事件(可能)以及使用on/delegate来处理添加到网格中的新项目。

这里是展示这种小提琴 - http://jsfiddle.net/dhoerster/xLvYE/

同样,不知道这会有所帮助。如果我没有正确理解,我会删除。希望这有助于。

+0

'on'与事件相关。 jQuery中没有添加“元素已添加”事件。好吧,有'load',但这只适用于具有像img,链接等src属性的元素。 – mrtsherman

+0

“用户点击某些内容后,这些链接将被创建,用户点击其他内容后,这些链接将隐藏,其他链接将显示。”听起来好像至少有两个点击事件可以绑定到。 – skybondsor

+0

@skybondsor它的确如此。我不完全确定代码的样子,这就是为什么我把一个简单的例子放在一起。如果这是正确的方向,那么我认为提问者可以用它来运行。 –