选择带有尾随空格的id的元素

时间:2014-05-30 14:04:13

标签: jquery asp.net

我无法弄清楚为什么我无法获得这样的html元素:

<input name="ctl00$body$frmViewODL$ListViewParametri$ctrl0$txtParametroValoreNum" type="text" value="1" id="body_frmViewODL_ListViewParametri_txtParametroValoreNum_10  " class="boxNum" style="width: 60px">

使用这个jQuery:

$('#body_frmViewODL_ListViewParametri_txtParametroValoreMax_10  ')

我尝试在末尾删除/添加空格: - )

PS:如果我尝试

document.getElementById('body_frmViewODL_ListViewParametri_txtParametroValoreMax_10  ')

没关系。

修改

完整的代码有点复杂......

我有一个ListView,我使用ClientIDRowSuffix让asp.net将Record键附加到控件的id。我想在一篇文章中更新一个值数组(记录)。

所以在html中我有一个TextBox数组,如下所示:

<input name="ctl00$body$frmViewODL$ListViewParametri$ctrl0$txtParametroValoreNum" type="text" value="1" id="body_frmViewODL_ListViewParametri_txtParametroValoreNum_10  " class="boxNum" style="width: 60px">
<input name="ctl00$body$frmViewODL$ListViewParametri$ctrl1$txtParametroValoreNum" type="text" value="2" id="body_frmViewODL_ListViewParametri_txtParametroValoreNum_11  " class="boxNum" style="width: 60px">
<input name="ctl00$body$frmViewODL$ListViewParametri$ctrl7$txtParametroValoreNum" type="text" value="8" id="body_frmViewODL_ListViewParametri_txtParametroValoreNum_23  " class="boxNum" style="width: 60px">
...

2 个答案:

答案 0 :(得分:2)

实际上问题可能是jQuery使用尾随空格解析选择器。由于通常空格分隔选择器的不同部分,因此jQuery可能不会将此尾随空格视为与#部分相关的内容。为了确保它理解空间是ID的一部分,您可能需要使用属性选择器:

$("[id='body_frmViewODL_ListViewParametri_txtParametroValoreNum_10  ']")

答案 1 :(得分:1)

更好的方法是让aspx页面解析器编写所需的内容并应用属性选择器。(感谢@James Montagne对某个问题的评论)

$("[id='<%= txtParametroValoreNum.ClientID %>']")