【发布时间】:2013-01-21 14:21:25
【问题描述】:
我有一个页面,其中 ID 更改为 ctl00_MainContent_txt_insurance。在这种情况下,我不能将实际 ID 用作$("#txt_insurance")。所以我所做的是使用$("#<%= txt_insurance.ClientID %>"),现在可以正常工作了。
但现在如果我想替换上面的 ID 并显示它,我这样做了:
divToChangeVisible = $("#<%= txt_insurance.ClientID %>");
divToChangeVisible.replace("txt_", "val_").show();
这会给我一个对象并抛出一个错误,说不能被替换。有没有办法让 txt_insurance 作为 Id 而不必替换 ctl00_MainContent_?
编辑 :: 如果我这样做 $("#<%= txt_insurance.ClientID %>").attr('id') 这将再次返回动态 ID...
【问题讨论】:
-
$('#") 返回一个对象,它不是一个字符串,所以显然 .replace 不起作用。你的需要不清楚,你想改变 id元素或 wat?? 在这种情况下使用 .attr('id') 获取它并通过 .val() 更改其值
-
ct100_MainContent 被附加到 Id,因为您必须将控件保存在母版页或某种数据网格中。无论如何,它的前缀模式总是固定的,您可以通过获取 attr id 值轻松替换它。你必须在某处硬编码模式
-
@ManishMishra 你是对的,它在母版页中......所以即使在服务器中它也永远不会改变,因为我所有的逻辑都将基于 jquery?
标签: jquery dynamic controls auto-generate