如何使用jQuery通过ID的最后一位找到元素?

时间:2010-10-09 16:20:01

标签: jquery

我必须通过jQuery的id找到一个元素。该元素的id为:

txtHistoricalPricesDate

在正常情况下很容易找到以下内容:

var element = $('#txtHistoricalPricesDate');

但不幸的是,我正在使用一个ASP.NET应用程序,它有助于将该元素重命名为:

ctl00_ContentPlaceHolder1_ucFundSearchResultsPanel_tabContainer_tabPriceTab_txtHistoricalPricesDate

而不是用那个巨大的荒谬ID弄脏jQuery,有没有办法告诉jQuery找到一个以txtHistoricalPricesDate结尾的ID的元素?

2 个答案:

答案 0 :(得分:2)

使用类或attribute-ends-with selector,如下所示:

var element = $('[id$=txtHistoricalPricesDate]');

如果你必须使用上面的内容(但尝试使用一个类),那么在前面加上元素类型,例如:

var element = $('input[id$=txtHistoricalPricesDate]');

要使用某个类,只需设置其CssClass属性,例如CssClass="histPrices",然后使用.class selector,如下所示:

var element = $('.histPrices');

在任何普通元素上使用class="",但因为它是一个ASP.Net控件,所以使用CssClass,因为可能你正在处理的WebControl属性用。

答案 1 :(得分:1)

我建议你使用类选择器来避免ASP.NET id变形。只需将CssClass附加到您的元素,然后:$('.txtHistoricalPricesDate')或者如果您使用的是ASP.NET 4.0,则可以将ClientIDMode调整为Predictable